有时候会将一些JSP页面放在WEB-INF路径下,但是WEB-INF路径下的资源是不允许直接通过在浏览器中输入URL或者重定向或者超链接的方式访问的,即一切客户端行为都是无法访问的。
这时候请求转发功能就能够帮助我们实现。
若是在JSP页面中,可以通过JSP标签或者request对象的方法来实现。
<jsp:forward page="/WEB-INF/index.jsp"/>
request.getRequestDispatcher("test.jsp").forward(request, response);
若是在servlet中,可以通过servlet的方法来实现。
this.getServletConfig().getServletContext().getRequestDispatcher("/WEB-INF/index.jsp").forward(req, resp);
这种方法是服务器行为,浏览器的地址栏显示的还是跳转之前的地址,但是内容已经被加载进来了。