销毁session时,removeAttribute()和invalidate()有何区别?

做用户登陆功能时,用户退出时用到的是session.invalidate(),在比对验证码时,用到的是session.removeAttribute("某个名字")。

百度查了invalidate的意思


invalidate时销毁,作废的意思。

session.removeAttribute(""用于清空session中某个特定的属性值

session.livadate()则是清除当前整个session

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

session.invalidate()是销毁跟用户关联session,例如有的用户强制关闭浏览器,而跟踪用户的信息的session还存在,可是用户已经离开了。虽然session 生命周期浏览默认时间30分,但是在30分钟内别的用户还可以访问到前一个用户的页面,需销毁用户的session。session.removeAttribute()移除session中的某项属性。

在用户登陆中,用户退出时执行的是  request.getSession().removeAttribute("userSession");

session被销毁了

//    注销用户,使session失效。

验证验证码时,获取到session中的验证码后,用的是removeAttribute

是清空当前session中指定的属性,下个request中的sessionID是不变的

也就是说,session还是原来的session



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值