Servlet中路径跳转
- 相对路径
注意这里的相对含义,相对于谁而言
经过多次试验总结,servlet相对路径跳转相对于servlet配置的xml路径(或servlet3.0注解路径)
如下:
//XML文件
<servlet-mapping>
<servlet-name>RegServlet</servlet-name>
<url-pattern>/servlet/RegServlet</url-pattern>
</servlet-mapping>
项目目录:
Servlet中相对路径
request.getRequestDispatcher("../userinfo.jsp").forward(request,response);
这里的servlet路径配置在/servlet/RegServlet下(即根目录下的setvlet/目录下),则 ../ 目录则倒回到根目录下,而userInfo.jsp同样位于根目录下
第二种情况:servlet3.0中的注解情况
@WebServlet("/RegServlet") //新特性 访问地址直接配置好了
同样的项目目录,则在servlet中访问则需要如下修改:
request.getRequestDispatcher("userinfo.jsp").forward(request, response);
解释:因为系统注解的servlet配置在根目录(‘/’意味着根目录)下,则意味userInfo.jsp与servlet文件位于同一目录下,可可以直接访问。
2. 绝对路径
绝对路径则相对而言简单很多,
这里注意一点,对照着上面的目录图,我们要理解到,服务器在解析路径时,‘src‘,‘WebRoot‘,这些文件夹其实都忽略了,这样说或许不准确,但便于理解,也解释说,则两个目录下的文件,都是在同一个根目录下,
如果访问同一个Jsp页面,这绝对路径的表示方式如下:
request.getRequestDispatcher("/userinfo.jsp").forward(request, response);// ‘/’表示根目录
时间: 2024-10-27 05:59:39