细说Tomcat之session持久化探秘

Posted Simple is Awesome

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了细说Tomcat之session持久化探秘相关的知识,希望对你有一定的参考价值。


业务场景:
通常,我们会在会话级别存放一些参数,期望在session生命周期内,可以一直取得保存在session中的指定数据;而只要session过期或者失效,则需要执行重新登录等操作。
但是!我们对于这样的场景会感到很疑惑:
在session中保存对象值,正常重启Tomcat,再次访问应用,居然还可以继续从session中取得之前保存的数据?
理论上,Tomcat容器重启之后再次访问应用应该会创建一个新的session对象,不应该还能从之前的session中取得数据。
这似乎是一种错觉!!!

原因:
默认情况下,只要Tomcat正常关闭,会将当前所有应用程序的session对象进行持久化存储。
存放路径为:

${CATALINA_HOME}/work/Catalina/localhost/${APP_NAME}/SESSIONS.ser

【参考】
http://www.cnblogs.com/huey/p/4803414.html  Tomcat - 持久化 Session

以上是关于细说Tomcat之session持久化探秘的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat 之session 持久化1

细说Redis之 Redis的持久化

韩顺平细说Servlet视频系列之tom相关内容

Tomcat-Session反序列化学习

Tomcat-Session反序列化学习

Tomcat-Session反序列化学习