session的removeAttribute()和invalidate()的区别

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

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


removeAttribute就是从session删除指定名称的绑定对象,也就是说调用此方法后再调用getAttribute(String name)时,不能获取指定名称的绑定对象,但是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

猜你喜欢

转载自blog.csdn.net/TTTZZZTTTZZZ/article/details/79284969