JavaWeb中的Session的持久化

什么是持久化?

持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。
持久化的主要应用是将内存中的对象存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。关键就是内存的数据会丢失,所以我们要把它保存在存储设备中,以便下次需要的时候可以再把数据取出来。
session持久化就是将session存储到存储设备中 如果session中所存储的对象是实现持久化的,则会自动持久化,例如String类实现了Serializable接口,可以自动持久化。如果想要session中存储的对象可以持久化,仅让他实现Serializable接口即可。

持久化的优点

节约内存空间,确保在服务器重启后,能恢复重启前的会话
实现持久化之后最显而易见就是在修改代码之后,Tomcat重启,Session中经过持久化的数据还是可以读出来

持久化状态转换

Session在其生命周期中,可能会在运行时状态和持久化状态之间转换

会话从运行时状态转变为持久化状态的过程称为 – 搁置
在以下情况,Session会被搁置:
* 当服务器重启或单个Web应用终止时,Web应用中的Session会被搁置
* 会话处于不活动状态的时间太常,达到了特定的限定值
* Web应用中处于运行状态的会话数目太多,达到了特定的限制值,部分Session被搁置

会话从持久化状态转变为运行时状态的过程称为 – 激活
在以下情况会Session会被激活。
* 当服务器重启或者单个Web应用重启时,Web应用中的Session会被激活
* 处于Session中的客户端想Web应用发出HTTP请求,相应的Session会被激活

发布了32 篇原创文章 · 获赞 6 · 访问量 902

猜你喜欢

转载自blog.csdn.net/EEEEEEcho/article/details/104206910