session.invalidate()和removeAttribute()

来源:互联网 发布:2333的意思网络用语 编辑:程序博客网 时间:2024/05/18 12:35
1.session.removeAttribute()可以指定销毁session中的某个属性
2、session.invalidate()是让当前浏览器的session销毁,也就是一个session被销毁,比如用户登录后注销就用这个,因为注销意味着该用户session中的所有属性均失效。
首先,session 的作用域是在一个会话期间,多个用户访问服务器,就会有多个session,现在,我就假设有三个用户A、B、C,他们访问服务器,分别创建了三个Session,记为S1,S2,S3.。

session.invalidate(),是某一个用户调用的,比如说S1这个用户,调用了这个方法,那么,就只有s1用户的session 被删除,其他用户的session,跟s1没关系。

session.invalidate(),它实际上调用的是session对象中的destroy方法,也就是说你下次要再使用session,得再重新创建。 简单的说,就是没了,而不是值为null

还有一个用户,访问同一个服务器,关闭浏览器,默认情况下清除所有的session。实际上清除的是自己的这个session 而已。。。别人的session关它什么事。

另外,有些情况下,登出并不一定是调用session.invalidate(),有时候,只是把绑定在session中某些数据给清空而已。
session.invalidate()是不能随便调用的,一旦调用,就是所有的数据都会丢失。

0 0
原创粉丝点击