当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

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

发表于: 2012-12-03   作者:blogzhoubo   来源:转载   浏览次数:
摘要: 使用Tomcat 7缺省的配置,tomcat关闭后重新启动,发现原来的session没有被删掉,用原来的request获取session仍然可以取到。但是并没有配置session持久化。 原因如下: tomcat的conf目录下有一个context.xml,这是所有web应用共享的配置信息。 里面有这么一段话: <!-- Uncomment this to disable s
使用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

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

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
tomcat7启动后,从启动,到对端口完成监听整个过程,如图: 其中Bootstrap为tomcat启动类, 调用顺序
在tomcat中Catalina类启动后,读取sever.xml初始化整个环境,此处使用了一个核心的工具类,搞定了这
下载tomcat7 源码 1.进入github:github tomcat70 2.直接fork一个,然后在本地找一个目录,运行 git
在Eclipse 里面配置的 tomcat, 会增加一个 Servers 部分,修改这里的这个 server.xml 文件的话,不
环境:eclipse tomcate5.0 做web项目,修改java文件后需要重启项目,每次重启需要很长时间。 听说使
环境:eclipse tomcate5.0 做web项目,修改java文件后需要重启项目,每次重启需要很长时间。 听说使
准备好好研究学习一下tomcat 7 的源代码,那么第一步就是下载,导入eclipse并且运行。 1. 下载源代码
准备好好研究学习一下tomcat 7 的源代码,那么第一步就是下载,导入eclipse并且运行。 1. 下载源代码
接下来介绍一下在Tomcat中JMX的运用 1. JMX介绍 JMX(Java Management Extensions,即Java管理扩展
花了不少时间看了Tomcat7的源码,相结合《HowTomcatWorks》这本书学到的内容,感觉认识了不少知识。
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号