session的序列化:
我们知道session的生命周期是一次请求的开始与结束,但是关闭启动服务器那我们在session中存储的数据会跟着消失咯?【场景:当用户浏览商品时,需要重启服务器更新,难道要所有用户下线?】
实际上并不是,session会在服务器关闭前,将所有的session存储到apache-tomcat-7.0.94\work\Catalina\项目名\SESSIONS.ser文件里面,然后再服务器启动的时候,读取该文件,并从磁盘上删除SESSIONS.ser文件这就是session的序列化
如何关闭session序列化呢?
D:\SoftWare\apache-tomcat-7.0.94-windows-x64\apache-tomcat-7.0.94\conf\context.xml里面将Maneger打开即可
<!--
<Manager pathname="" />
-->
session的钝化和活化
概念:session个数太多,占内存,将不活跃session保存到硬盘上,减轻内存压力,当不活跃session再次使用时,从硬盘读取即可
如何使用session钝化和活化呢?
只需在项目下的context.xml里面配置如下代码:【也可以配置在tomcat下的context.xml---对所有项目生效】
钝化生成的文件所在位置:apache-tomcat-7.0.94\work\Catalina\项目名\mysession里面【一个文件一个session】*.session
活化会自动读取该文件