【问题标题】:Session Timeout w/Ajax Polling in Spring Web ApplicationSpring Web 应用程序中带有 Ajax 轮询的会话超时
【发布时间】:2011-07-13 17:16:59
【问题描述】:

我正在开发一个基于 Spring 3.0 的 Web 应用程序,该应用程序需要所有用户登录才能查看数据。登录后,屏幕的某些部分使用 AJAX 轮询机制在后台更新屏幕内容。目前,我们的会话不会超时,因为每次向服务器发出的 ajax 请求都会更新 Web 应用程序的超时时间,并且会话永远不会超时。

我需要修改应用程序,以便当用户登录时,控制器将使用数据响应轮询,但不更新会话超时,以便会话在其预定时间超时。如果用户没有活动会话,则控制器不会返回任何内容。

我该怎么做呢?

【问题讨论】:

  • 你能告诉我你是怎么处理的吗?

标签: jquery spring-mvc spring-security polling


【解决方案1】:

如何将 用于传递 ajax 数据的页面。由于这些页面不会绑定到会话,因此会话超时可能不会更新。

【讨论】:

    【解决方案2】:

    您将不得不在您的 servlet 容器的内部进行处理。

    这就是我要做的事情

    • 在 google 上搜索“xhr XmlHttpRequest servlet 容器会话访问”,看看有没有什么有趣的事情出现(我现在懒得做)
    • 无论您使用什么 servlet 实体,将代码拉到本地并查看会话实现。具体来说,您想弄清楚是什么设置了 javax.servlet.http.HttpSession.getLastAccessedTime 返回的值。当你找到它时,向后工作以了解如何自定义它。我很确定您可以通过扩展其中一个内部类并通过在 XML 配置文件中设置自定义类来使用 Tomcat 来做到这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-23
      • 1970-01-01
      • 2011-09-23
      • 2018-01-30
      • 2011-04-13
      • 2011-07-15
      • 1970-01-01
      • 2013-03-31
      相关资源
      最近更新 更多