【发布时间】: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 所以编辑问题以澄清。