session.invalidate(),session.invalidate的销毁是把这个session所带的用户彻底的销毁,这个session跟用户已经紧密联合在一起,所以就一起销毁了,这样就算换了个session,也是登陆不了的,以前我的代码就是这样写的,下面:
| ((HttpSession) sc.getAttribute(userName)).invalidate();// 清除第一次登陆的session |
这样销毁的可是userName啊,所以要注意,销毁session的时候绝对不能用这种形式,可以用下面的销毁来控制用户没有登陆的话不可以浏览网页和后退也不能进行操作,把上边的代码改成下边的一句就搞定:
session.removeAttribute("sessionUserName");移除用户,但session不变,下次登陆的时候看到的sessionID还是一样的
本文讲解了session.invalidate()方法的正确使用方式,并对比了session.removeAttribute()的区别。通过实例说明了如何避免因错误使用session.invalidate()而导致用户信息被误删除的问题。
7520

被折叠的 条评论
为什么被折叠?



