当会话到期时,tomcat会做什么?
是否将会话对象设置为无效?
是否取消链接对会话对象的所有引用,以便我可能无法通过调用request.getSession(false)
来获取过期的会话对象?
我正在使用Servlet 2.5规范。感谢。
答案 0 :(得分:0)
Tomcat(以及其他所有容器)都会调用HttpSession.invalidate()
使此会话无效,然后取消绑定绑定到它的任何对象。
之后,request.getSession(false)
将返回null
。
相关:
答案 1 :(得分:0)
没有内部会话垃圾收集器线程。会话在getSession()
调用期间被删除。
如果调用request.getSession()
并且会话不再有效(其空闲时间大于maxInactiveInterval
),则将调用内部expire()
方法。此方法会从Manager
中删除会话,并在HttpSessionListener
上触发相应的事件。
可以使用invalidate()
方法手动使会话无效,expire()
方法是{{1}}的包装。