如题,我用SpringMVC框架,然后在里面写了一个拦截器,但是拦截到了,实现页面跳转时不跳转?这是为什么了?
java代码
public class UserRecordInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request,HttpServletResponse response,Object handler) throws Exception{
UserModel user = null;
try {
user = (UserModel) request.getSession().getAttribute("user");
} catch (Exception e) {
request.getRequestDispatcher("login.jsp").forward(request, response);
return false;
}
if(null == user){
request.getRequestDispatcher("login.jsp").forward(request, response);
return false;
}
return true;
}
------解决思路----------------------
报了404还是怎样?
------解决思路----------------------
试试response.redirect()看看 不过先要确保catch到Exception哦 不然不会执行
------解决思路----------------------
request.getRequestDispatcher("login.jsp").forward(request, response);
1、你是要返回页面还是返回控制器,如果是返回jsp页面的话,那你这个login.jsp的路径写对了?
2、如果是返回控制器,getRequestDispatcher里面请填写你的控制器映射地址
------解决思路----------------------
可以跳到www.baidu.com,看看能不能跳出去。
你是在拦截器中做的跳转,所以不一定能找到对应的页面。
------解决思路----------------------
返回到页面,页面就在webapp下面,照理说这里跳转页面的路径应该没错吧!!
页面放到WEB-INF下面
------解决思路----------------------
spring中这个方法中的login.jsp的前面不用加/吗request.getRequestDispatcher("login.jsp").forward(request,?response);