销毁servlet中的会话

问题描述:

我知道,当会话失效explicitaly时,可以在HttpSessionListener Servlet的方法sessionDestroyed()中执行一些额外的东西,如打印消息或其他内容。销毁servlet中的会话

我的问题是:

  1. 如果您在浏览器中打开,但这样你的会话过期......将是法sessionDestroyed你没有做任何事情()叫什么名字?
  2. 如果关闭浏览器,会话过期,因为你太久了......会调用sessionDestroyed()方法吗?

谢谢!

这两个问题的答案是:有。

服务器无法区分这两种情况(假设网页不通过Ajax自己调用服务器)。 Servlet服务器只知道该会话的最后一次调用的时间,并在超时后触发会话销毁。

你可以自己试试。将会话超时设置为较小的值并等待。

HttpSessionListener用于监视创建和销毁的应用服务器

public void sessionDestroyed(HttpSessionEvent evt)上是为了通知会话即将失效会话时。

欲了解更多信息How to call sessionDestroyed when a session times out