tomcat5 session问题,没验证tomcat其他版本
tomcat在重启后,默认是恢复session数据的,
它在tomcat目录下的work目录下,每个应用程序会有一个Session.ser文件,用来保存session数据。当重启后,会加载。
此时如果客户端没有清除cookie数据,或者清除不了(iPhone下的Safari),就会导致用户使用使用以前的那个session。
这时,有几种办法处理,
1 设置Session失效时间
在web.xml文件中,位于<servlet-mapping>和<welcome-file-list>元素之间加入以下三行(分钟):
<session-config>
<session-timeout>30</session-timeout>
</session-config>
2 手工删除Session.ser文件
3 创建一个与应用程序同名的 xml 文件,比如 webapp 的 Context Path 为 test, 那么文件名即为 test.xml。内容如下:
<Context path="/test" docBase="test" debug="0" privileged="true">
<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false">
<Store className="org.apache.catalina.session.FileStore" />
</Manager>
</Context>
saveOnRestart 参数值为false即不保留session。该 Manager 还有很多属性,具体参见文档。注意,虽然是不保存文件,但子元素<Store> 必不可少。
将文件放到 Tomcat安装目录/conf/Catalina/localhost/ 路径下,重启后生效。
tomcat5 session保存问题
最新推荐文章于 2022-04-12 11:29:53 发布