销毁session,removeAttribute()和invalidate()的区别

session.removeAttribute()适用于清空指定的属性 

session.invalidate()是清除当前session的所有相关信息


removeAttribute就是从session删除指定名称的绑定对象,也就是说调用此方法后再调用getAttribute(Stringname)时,不能获取指定名称的绑定对象,但是session还存在。invalidate就是销毁此session对象,session对象中绑定的那些对象值也都不存在了.


session.invalidate()是销毁跟用户关联session,例如有的用户强制关闭浏览器,而跟踪用户的信息的session还存在,可是用户已经离开了。
虽然session 生命周期浏览默认时间30分,但是在30分钟内别的用户还可以访问到前一个用户的页面,需销毁用户的session。
session.removeAttribute()移除session中的某项属性。
在spring例子中宠物商店的注销登录的代码:
request.getSession().removeAttribute("userSession");
//    注销用户,使session失效。
request.getSession().invalidate();


removeAttribute是清空当前session中指定的属性,下个request中的sessionID是不变的
也就是说,session还是原来的session

个人博客: bingtel-木犹如此的博客, 有兴趣可以关注下

猜你喜欢

转载自blog.csdn.net/runrun117/article/details/80231481