这里是单纯希望jsp走jsp,而并不走controller。
先进行解释说明:
我们都知道,实现页面的跳转有两种方式,一个是redirect重定向,还有一种是forward转发,因为重定向相当于浏览器重新从服务器端请求页面,而/WEB-INF/下的文件是不允许直接浏览器请求访问的,所以,不可以使用重定向,但是,我们可以在一个页面通过转发的方式去访问,因为转发还是在服务器端进行的请求,所以可以访问。
我的需求:
希望从shortcut.jsp直接跳转到add_manager.jsp,但是这两个界面都在/WEB-INF/下,所以我在/WEB-INF/外webapp下创建一个中间界面用于跳转ass_forward.jsp,再通过这个中间界面转发到我希望的界面。
希望:shortcut.jsp ==> add_manager.jsp 实际:shortcut.jsp ==> ass_forward.jsp ==> add_manager.jsp
1、在shortcut.jsp中写入
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<body>
<a href="<%=basePath%>ass_forward.jsp">新增管理员</a>
</body>
2、在中间界面ass_forward.jsp写入,实现转发
<body>
<%
request.getRequestDispatcher("/WEB-INF/jsp/add_manager.jsp").forward(request, response);
%>
</body>
这样在shortcut.jsp中点击新增管理员按钮就可以直接跳转到add_manager.jsp了。