request.getRequestDispatcher跳转jsp页面失败

在使用SpringMVC拦截器做权限的管理

拦截器代码

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {
    
        System.out.println("执行 自定义拦截器");
        String Employee_num = (String) request.getSession().getAttribute("userName");
        System.out.println(Employee_num);
        if(Employee_num == null){
            System.out.println("用户为空-----------------");
            request.getRequestDispatcher("/WEB-INF/jsp/Login.jsp").forward(request, response);
            return false;
        }else{
            return true;
        }
    }
    

目的是在判断用户没有登录,跳转到 Login.jsp 页面

clipboard.png

但没有登录时去请求其他页面,能被拦截器拦截,也输出“用户为空”,但没有跳转到Login.jsp页面。在浏览器调试界面将整个 Login.jsp输出了

clipboard.png

阅读 8.9k
2 个回答

你的拦截器确实是将Login.jsp输出了,如果你要跳转,可改用response.sendRedirect()

注意forward和Redirect

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题