当前位置: 代码迷 >> Java Web开发 >> 关于request.getRequestDispatcher("login.jsp").forward(request, response);有关问题
  详细解决方案

关于request.getRequestDispatcher("login.jsp").forward(request, response);有关问题

热度:1450   发布时间:2016-04-13 22:35:50.0
关于request.getRequestDispatcher("login.jsp").forward(request, response);问题?
如题,我用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里面请填写你的控制器映射地址

------解决思路----------------------
引用:
Quote: 引用:

试试response.redirect()看看    不过先要确保catch到Exception哦   不然不会执行


我试过了,没有反应

可以跳到www.baidu.com,看看能不能跳出去。
你是在拦截器中做的跳转,所以不一定能找到对应的页面。
------解决思路----------------------
引用:
返回到页面,页面就在webapp下面,照理说这里跳转页面的路径应该没错吧!!


页面放到WEB-INF下面
------解决思路----------------------
spring中这个方法中的login.jsp的前面不用加/吗request.getRequestDispatcher("login.jsp").forward(request,?response);
  相关解决方案