【问题标题】:Destroying session in servlets在 servlet 中销毁会话
【发布时间】:2017-04-11 09:14:52
【问题描述】:

我知道,当会话显式失效时,您可以在 HttpSessionListener Servlet 的方法 sessionDestroyed() 中做一些额外的事情,例如打印消息或其他任何事情。

我的问题是:

  1. 如果您打开了浏览器,但您没有执行任何操作,因此您的会话过期...会调用 sessionDestroyed() 方法吗?
  2. 如果您关闭浏览器并且会话因您离开太久而过期...是否会调用 sessionDestroyed() 方法?

谢谢!

【问题讨论】:

    标签: java session servlets


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      HttpSessionListener 用于监控应用服务器上会话的创建和销毁时间

      public void sessionDestroyed(HttpSessionEvent evt)是一个会话即将失效的通知。

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

      【讨论】:

        猜你喜欢
        • 2011-11-25
        • 1970-01-01
        • 2012-05-25
        • 2011-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多