在访问Servlet的过程中,可能有不同的访问方式,进行路径跳转时有很多种方法,现在我们来一起总结一下:
1、在jsp页面中访问Servlet
相对路径:
<a href="servlet/Path">相对路径访问Servlet</a>
//相对路径是针对当前资源的路径,Path相对于当前路径path.jsp而言是在servlet/Path这一路径下的
注意不能写成:
<a href="/servlet/Path">相对路径访问Servlet</a>
//其中的第一个/代表服务器的根目录
绝对路径:
<a href="<%=path%>/servlet/Path">绝对路径访问Servet</a>
//利用jsp页面中的path变量,path变量表示项目的根目录
2、配置文件中的路径:
<url-pattern>/servlet/Path</url-pattern>
//这里的第一个/不能省略,表示的是项目的根目录
3、路径跳转问题:
请求重定向:
response.sendRedirect(request.getContextPath()+"/information.jsp");
//通过request.getContextPath()来获取上下文环境
注意不能写成:
response.sendRedirect("information.jsp");
//此时的当前路径为ServletPathDirection/servlet/
服务器内部跳转:
request.getRequestDispatcher("/information.jsp").forward(request, response);
//斜线表示项目的根目录
也可以写成:
request.getRequestDispatcher("../information.jsp").forward(request, response);
//..表示回到上层目录
注意不能写成:
request.getRequestDispatcher("information.jsp").forward(request, response);
//不带斜线时表示的是一种相对路径