问题:销毁Session的方式是什么?

会话,作为我们不能没有的后端技术,它的出现主要是为了解决Http协议的无状态特性,并被用来解决用户状态的存储问题,并且常常涉及时间问题。用于存储。 ,让我们看看它的销毁方法。
销毁方法实际操作的默认时间到期
当客户端第一次请求servlet并操作会话时,将生成会话对象。以Tomcat为例。 Tomcat中会话的默认生存时间是30分钟,这是您不操作界面的时间。完成操作后,会话将重新启动。定时。可以更改会话的默认时间吗?答案是肯定的。可以在Tomcat的web.xml文件中对其进行修改。如下图所示:


自行设置到期时间
当然,除了上述修改方法外,我们还可以通过session.setMaxInactiveInterval(int);在程序中自行设置会话的生命周期。设置会话的最大不活动时间,以秒为单位。
HttpSession会话= req.getSession(); session.setMaxInactiveInterval(5);
当然,我们也可以使用getMaxInactiveInterval();。查看当前Session对象的最大不活动时间的方法。
立即无效
或者我们可以通过session.invalidate();立即使会话无效。方法。

session.invalidate();
念安指着b站〜
关闭浏览器
会话的底层依赖于cookie的实现,因为不同的用户访问服务器来确定使用哪个会话,因此,当用户第一次访问服务器时,会话ID通常通过以下方式存储在用户端: cookie和cookie的有效时间是关闭浏览器,因此关闭浏览器后,该会话等效于无效(因为没有与之相对应的会话ID)。如下图所示,再次关闭并打开,然后再次为浏览器分配一个会话ID。

应注意,此处仅cookie无效。如果再次访问服务器,它将把您视为新用户并为您创建会话,而不会破坏先前的会话对象。
关闭服务器
当服务器异常关闭时,会话将被破坏;当服务器正常关闭时,会话将被序列化到磁盘,位于工作区工作目录下的SESSION.ser文件中。如果对象保存在会话中,则在关闭服务器时,必须将该对象序列化到硬盘上。该对象必须实现Serializable接口,并且下次启动服务时它将自动加载到内存中。如下图所示,在正常关闭后,您可以看到文件夹中还有一个附加的SESSIONS.ser文件,并且在服务器重新启动时该文件消失了。

扩展〜Cookie破坏

除了从图片中查看cookie的名称和内容外,我们还需要关心一条信息,即过期时间,该时间用于指定cookie何时过期。默认值为关闭当前浏览器后将其禁用。我们可以手动设置cookie的有效时间(由到期时间计算),并通过setMaxAge(int expiry)设置cookie的最大有效时间。方法,以秒为单位。
念安指着b站〜
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-354854-1.html
惹
但怎么就是觉着哪里不太对
我宝明明最高SM炸了