如何保持会话活着

时间:2015-04-07 14:12:09

标签: java javascript ajax

当用户正在打开办公室(字母编辑工具)弹出窗口时,应用程序屏幕显示超时

初步分析 如果用户在开放式办公室工作超过60分钟 - 服务器不会刷新以延长会话时间(会话活动落后)

我们在web.xml中设置了idletime

请帮我解决如何保持会话活着的问题。

2 个答案:

答案 0 :(得分:0)

我过去曾使用过保持活动请求解决方案。基本上,您将JavaScript超时设置为持续时间长于会话超时,通常是会话超时的一半到四分之三。当JavaScript超时触发时,向参与会话的服务器上的控制器发出ajax请求。这将使服务器认为您仍处于活动状态,并应通过重置服务器会话来保持服务器会话的活动状态。

此外,您需要在收到ajax响应时重置JavaScript超时,以便再次启动计时器。

PS:你真的不需要在后端控制器中做任何事情,你只是在戳会话以保持它活着。

答案 1 :(得分:0)

你可以在web.xml中使用-1而不是60作为:

<session-config>
     <session-timeout>-1</session-timeout>
</session-config>

如果您不想增加会话时间,那么您可以找到解决方法:

在专用线程中运行您的任务,该线程在工作时触摸(扩展)会话或在线程完成时通知用户