【问题标题】:How to fix Session timeout issue?如何解决会话超时问题?
【发布时间】:2019-01-02 06:35:04
【问题描述】:

我们有一个 Struts 2 应用程序。 我们的 javascripts 发出自动、定期的轮询请求 (Ajax),以使视图保持最新。

不幸的是,这可以防止会话超时...

有没有办法告诉服务器某些 URL 不应该影响会话超时?

也就是说,如果在过去的 30 分钟内,浏览器只请求了 "http://server/autoRefresh.do" ,那么 Tomcat 应该假定用户离开了计算机,并终止会话。

【问题讨论】:

  • "session timeout is not working"是什么意思?会话将在 idle 30 分钟后超时。任何请求都会重置计时器。这就是会话超时的工作原理。
  • 如果您希望会话中的某些内容在设置后 30 分钟后过期,需要捕获更新时间,并检查时间是否已过。您不能为此使用会话超时功能。
  • 您的问题不清楚。编辑解释。我猜你的意思是如果三十分钟后没有发生任何人类用户生成的事件,你想关闭会话,不幸的是,尽管没有人类用户活动,AJAX 调用仍使会话保持活动状态(而不是超时)。如果这就是你的意思,那就这么说吧。
  • @BasilBourque 是的。
  • @MickeyPatel 所以编辑问题以澄清。

标签: java ajax struts2


【解决方案1】:

如果您存储会话创建时间,您可以使用调度程序在 30 分钟后强制销毁会话。您可以在应用程序启动时启动调度程序,它将检查超过 30 分钟的会话是否无效。

【讨论】:

    猜你喜欢
    • 2012-01-28
    • 2020-10-03
    • 1970-01-01
    • 2010-12-06
    • 2021-08-16
    • 2011-04-24
    相关资源
    最近更新 更多