做用户登陆功能时,用户退出时用到的是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