weixin_45496051
小猪佩祁
2021-01-16 21:51

为什么在用户退出后不管怎样清除掉session在拦截器里面还是能到这个session

  • java
    @RequestMapping("/empthUserSession")
    public String empthUserSession(HttpSession session) {
        //清空session
        session.setAttribute(Constants.SESSION_USER,null);
        session.invalidate();
        System.out.println("session被失效");
        return "login";
    }
        @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("进入拦截器");
        //1、获取session对象
        HttpSession session=request.getSession();
        //2、从session获取登录系统的用户
        User user=(User)session.getAttribute(Constants.SESSION_USER);
        System.out.println(user.getUserName());
        //3、判断登录用户是否存在
        if(user==null){
            //用户不存在,实现拦截,跳转到登录页面
            System.out.println("用户不存在,被拦截");
            response.sendRedirect("login.jsp");//重定向到登录页面
            return false;//拦截
        }
        //用户存在,放行
        return true;
    }
  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

0条回答