session.invalidate(),session.invalidate的销毁是把这个session所带的用户彻底的销毁,这个session跟用户已经紧密联合在一起,所以就一起销毁了,这样就算换了个session,也是登陆不了的,曾经我的代码就是这样写的,以下:
((HttpSession) sc.getAttribute(userName)).invalidate();// 清除第一次登陆的session |
这样销毁的但是userName啊,所以要注意,销毁session的时候绝对不能用这样的形式,能够用以下的销毁来控制用户没有登陆的话不能够浏览网页和后退也不能进行操作,把上边的代码改成下边的一句就搞定:
session.removeAttribute("sessionUserName");移除用户,但session不变,下次登陆的时候看到的sessionID还是一样的