当会话到期时,tomcat会做什么?

时间:2013-10-01 08:05:44

标签: java tomcat servlets

当会话到期时,tomcat会做什么?

是否将会话对象设置为无效?

是否取消链接对会话对象的所有引用,以便我可能无法通过调用request.getSession(false)来获取过期的会话对象?

我正在使用Servlet 2.5规范。感谢。

2 个答案:

答案 0 :(得分:0)

Tomcat(以及其他所有容器)都会调用HttpSession.invalidate()

From the documentation

  

使此会话无效,然后取消绑定绑定到它的任何对象。

之后,request.getSession(false)将返回null

相关:

答案 1 :(得分:0)

没有内部会话垃圾收集器线程。会话在getSession()调用期间被删除。

如果调用request.getSession()并且会话不再有效(其空闲时间大于maxInactiveInterval),则将调用内部expire()方法。此方法会从Manager中删除会话,并在HttpSessionListener上触发相应的事件。

可以使用invalidate()方法手动使会话无效,expire()方法是{{1}}的包装。