我正在通过链接在两个不同的动态 Web 应用程序之间切换。但是如果我在一个应用程序上工作了很长时间,那么其他应用程序会话就会过期并且我被重定向到登录页面,有没有什么方法可以让会话保持活动超过maxInactive时间间隔而我正在处理其他应用程序页面
问问题
416 次
3 回答
0
有两种选择——
- 如果两个应用程序都需要单点登录功能(比如我们登录到 gmail,那么所有 google 服务都可以访问),您可以使用 tomcat 集群并在集群中共享会话。您的两个应用程序都将成为集群的一部分。
- 一个简单的工作是在每个应用程序中设置心跳 ajax 请求。使用 JavaScript 的超时功能,并在固定间隔后向 servlet 发送 ajax 请求。
于 2014-05-19T17:58:51.643 回答
0
无论如何,您都可以MaxInactiveInterval
在运行时更新服务器,此方法setMaxInactiveInterval
可用于HTTPsession
类对象。
希望这可以帮助。:)
于 2014-05-19T08:34:58.357 回答
0
我可以在这里想到一种选择,即管理您自己的Session Pool。您可以在ArrayList<HttpSession>
创建新会话时保存会话对象。并将该会话 ID 发送到您的另一个应用程序。当您返回上一个应用程序时,您会发回会话 ID。如果您发现会话已死,则通过会话 ID在您的会话池中找到该会话并创建新会话。在前一个会话对象的新会话中设置属性。
希望这可能有用。
于 2014-05-19T16:14:05.690 回答