我们知道服务器上的session是生存时间是可以设置的,那么问题来了!
当我们的session时间设置为3个小时,运行一个小时之后服务器关闭了,那这些已经生成的生存时间为3个小时的session(还没有超过生存时间)是存在还是不存在?
这里就要看tomcat文件夹中的conf/context.xml文件
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
这里有如上一段配置,注释上面配置,默认的配置如下
tomcat默认是session持久化的,也就是我上诉说的情况,当服务关闭时,那些还在生存时间内的session会保存在SESSION.ser(默认值)文件中,,每一个对象对应一个文件,以session id为文件名。当服务器重启时,会去读取文件并校验是否过期(校验过程有点延迟,需要几秒),如过期就销毁session,SESSION.ser默认放在/tomcat-6.0.26/work/Catalina/localhost/_/目录下。
当把上面配置的注释去掉,session将不持久化