最近写网页,发现session只要一分钟就会失效(取不出存在session里的值),设置了session的最大不活动时间为30分钟,但是依然过一分钟session就失效了,然后给session加了生死监听,确实要过30分钟,session上的监听器的销毁方法才启动,百思不得其解为啥 session里的值,我咋获取不到了。。。
后来终于找到原因了,原来是我在tomcat设置了session的钝化时间为1分钟,但是我的session没有实现序列化接口,所以session一钝化就GG 了,然后我找到tomcat的配置文件context.xml,把下述配置删掉即可:
<Manager className="org.apache.catalina.session.PersistentManager" maxIdleSwap="1">
<Store className="org.apache.catalina.session.FileStore" directory="mysession"/>
</Manager>
其中 maxIdleSwap=”1” 的意思是一分钟不操作session,session就钝化。