Session.invalidate与sessiont.removeAtribute()学习比较

当浏览器第一次请求时,服务器创建一个session对象,同时生成一个sessionId,并在此次响应中将sessionId 以响应报文的方式传回客户端浏览器内存或以重写url方式送回客户端,来保持整个会话。关闭此浏览器窗口,其内存中的sessionId也就随之销毁

session.invalidate()是将session设置为失效,一般在退出时使用,但要注意的是:session失效的同时 浏览器会立即创建一个新的session的,你第一个session已经失效了 所以调用它的getAttribute方法时候一定会抛出NullPointerException的。

invalidate()是指清空session对象里的东西,并不指清除这个session对象本身

session.invalidate的销毁是把这个session所带的用户彻底的销毁,这个session跟用户已经紧密联合在一起,所以就一起销毁了,这样就算换了个session,也是登陆不了的。

sessiont.removeAtribute()是清空session中指定的属性.
session.invalidate()來把session做清除的动作 .

session.invalidate()是让当前浏览器的session销毁,也就是一个session被销毁,比如用户登录后注销就用这个,因为注销意味着该用户session中的所有属性均失效。而removeAttribute()可以指定销毁session中的某个属性。

学习整理自互联网。

原文地址:https://www.cnblogs.com/aixing/p/13327716.html