一. 问题背景
在登录网站时,一般都需要登录自己的账户,方便管理以前自己在此网站的信息。如果要换另一个或者退出当前用户,那么可以用session.invalidate()注销当前用户。
二. 原理
在浏览器第一次提交请求给服务器时,服务器自己会创建一个session对象,同时会生成一个sessionId(是标识符的作用)。并在此次响应中将sessionId以响应报文的方式传给浏览器或者重写url方式送回给浏览器,来保持整个会话。关闭此浏览器,session对象也会随之销毁。
session.invalidate()就是将当前session对象在不需要关闭浏览器的前提下销毁。 当前session对象销毁后,服务器会立刻创建新的session对象。