Tomcat 7源码学习笔记 -9 tomcat重启后session仍然保留

使用Tomcat 7缺省的配置,tomcat关闭后重新启动,发现原来的session没有被删掉,用原来的request获取session仍然可以取到。但是并没有配置session持久化。

原因如下:
tomcat的conf目录下有一个context.xml,这是所有web应用共享的配置信息。
里面有这么一段话:

<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--   
    <Manager pathname="" />
-->

缺省情况下,<Manager pathname="" />是被注释掉的,此时,tomcat在每次重新启动的时候,都会保留原来的session。

如果不想保留的话,需要把<Manager pathname="" />的注释放开,这样tomcat关闭的时候,会删掉所有的session。

默认情况下,tomcat使用StandardManager来管理session,当tomcat关闭,或者web应用被重新加载的时候,会对内存中的HttpSession对象进行持久化,把它们保存在文件系统中,默认的文件是(比如:host name是localhost,app name是test):
work\Catalina\localhost\test\SESSIONS.ser

猜你喜欢

转载自blogzhoubo.iteye.com/blog/1740109
今日推荐