前言
偶然发现Tomcat会话时间的半小时,并不是说会话创建后,只有半小时的有效使用时间,而是说会话空闲半小时后,会被删除。索性就翻了一下源码。做了一番整理。
注:空闲时间,指的是同一个会话两次请求之间的间隔时间
Session相关类图

Manager相关类图

StandardManager与PersitentManager都是Manager的实现,但是它们在存储Session对象的方式上有所不同。
StandarManager
1.Tomcat运行时,把Session存储在内存中
2.Tomcat关闭时(注意是正常的关闭操作,而非突然崩溃),会把Session写入到磁盘中,等到Tomcat重启后再把Session加载进来
PersistentManager
1.总是把Session存储在磁盘中。
Manager与Context的关系
在Tomcat中,一个Context就是部署到Tomcat中的一个应用(Webapp)。每一个Context都有一个单独的Manager对象来管理这个应用的会话信息。









