在servlet中使用请求调度程序转发到JSP时,为什么JSP必须用正斜杠表示,如下所示:
getServletContext().getRequestDispatcher("/foo.jsp").forward(request, response);
Run Code Online (Sandbox Code Playgroud)
如果我在没有正斜杠的情况下使用它,我会在Tomcat中获得异常.
但是当我使用请求调度程序重定向到servlet时,我可以省略正斜杠.如果有一个servlet映射到url模式,下面的代码片段工作正常:
getServletContext().getRequestDispatcher("bar").forward(request, response);
Run Code Online (Sandbox Code Playgroud)
我知道这/意味着web-app的根源,但为什么servlet不是必需的,而只是JSP的需要?Servlet也属于特定的Web应用程序.
小智 0
所有 servlet 对象都在容器中的同一位置运行,但 jsp 运行在不同的位置。
部署后的 Servlet 位置 您将在此处找到所有 servlet apache-tomcat-7.0.55\webapps\Test\WEB-INF\classes\com\it\servlet
MainController.class
ABC.类
部署后的 JSP 位置
apache-tomcat-7.0.55\work\Catalina\localhost\Test\org\apache\jsp
apiTester_jsp.class
| 归档时间: |
|
| 查看次数: |
611 次 |
| 最近记录: |