会话超时 java
Session time out java
这是关于 http 会话的。
我有两个应用程序,它们 运行 在两个不同端口的两个应用程序服务器上。我登录到一个应用程序,然后从同一浏览器打开一个新选项卡并登录到另一个应用程序。然后发生的事情是它将使第一个应用程序的会话超时。
在这两个应用程序中,http 会话用于登录和注销。
上述情况的根本原因可能是什么。
如有任何帮助,我们将不胜感激。
如果这两个应用程序是完全相同的应用程序,并且它们都 运行 在同一台服务器上,但端口不同 - 一个会话 cookie 使另一个会话 cookie 无效,我 运行 全部投入其中时间,所以如果你想完成你想做的事情,你可以在 "private" window 中打开一个会话,这将防止会话失效。
您可以尝试手动添加 cookie
HttpSession session = request.getSession();
if (request.getParameter("JSESSIONID") != null) {
Cookie userCookie = new Cookie("JSESSIONID", request.getParameter("JSESSIONID"));
response.addCookie(userCookie);
} else {
String sessionId = session.getId();
Cookie userCookie = new Cookie("JSESSIONID", sessionId);
response.addCookie(userCookie);
}
这是关于 http 会话的。
我有两个应用程序,它们 运行 在两个不同端口的两个应用程序服务器上。我登录到一个应用程序,然后从同一浏览器打开一个新选项卡并登录到另一个应用程序。然后发生的事情是它将使第一个应用程序的会话超时。
在这两个应用程序中,http 会话用于登录和注销。
上述情况的根本原因可能是什么。
如有任何帮助,我们将不胜感激。
如果这两个应用程序是完全相同的应用程序,并且它们都 运行 在同一台服务器上,但端口不同 - 一个会话 cookie 使另一个会话 cookie 无效,我 运行 全部投入其中时间,所以如果你想完成你想做的事情,你可以在 "private" window 中打开一个会话,这将防止会话失效。
您可以尝试手动添加 cookie
HttpSession session = request.getSession();
if (request.getParameter("JSESSIONID") != null) {
Cookie userCookie = new Cookie("JSESSIONID", request.getParameter("JSESSIONID"));
response.addCookie(userCookie);
} else {
String sessionId = session.getId();
Cookie userCookie = new Cookie("JSESSIONID", sessionId);
response.addCookie(userCookie);
}