ssm登出清掉session

登出时候使用invalidate()销毁session,然后跳转到登录页面,然后点击浏览器回退按钮回到主页手动刷新页面,然后看到之前保存在session中的用户名又出来了,为何?很不理解,登出时候不是已经清除了吗,我试了remove也不行,求解?

并且还可以进行增删改查操作,why

有做登录拦截吗

如果是配合@SessionAttributes注解使用 必须使用SessionStatus.setComplete();来清除。它只清除@SessionAttributes的session,不会清除HttpSession的数据:
例如

    public String outLogin(HttpSession session,SessionStatus sessionStatus){
        session.removeAttribute(xxx);//我这里是先取出httpsession中的user属性
        session.invalidate();  //然后是让httpsession失效
        sessionStatus.setComplete();//最后是调用sessionStatus方法
        return "index";
    }

1.拦截器判断session可能有误:就是后端可能清除了session,但是浏览器保存了,回退,然后还是发送有session的,然后拦截器条件判断出错还是放行了
2.可能后端session清除失败,建议清除之后,遍历一下session看看是否清除