浏览器重启java后保持会话

时间:2014-12-28 09:12:50

标签: java session servlets web-applications

我正在使用java servlets / jstl

开发一个小项目

我已经创建了一个带有会话的登录,我希望浏览器即使在浏览器缓存之后也能保持该会话。

我写了这段代码:

HttpSession session=request.getSession();
session.setMaxInactiveInterval(604800);
session.setAttribute("loggedOnUser", true);

我已将会话超时设置为一周。但每当我关闭浏览器并重新打开它时,我需要再次登录。当我查看浏览器的cookie时,包含sessionId的cookie在浏览器关闭时仍会过期。我认为“setMaxInactiveInterval”会将其更改为一周。有谁知道问题是什么?

2 个答案:

答案 0 :(得分:3)

我建议设置该Cookie的最大年龄:

HttpSession session = request.getSession();
Cookie cookie = new Cookie("JSESSIONID", session.getId());
cookie.setMaxAge(Integer.MAX_VALUE);
response.addCookie(cookie);

答案 1 :(得分:1)

当浏览器重新启动时,某些浏览器会删除cookie,这就是为什么在重新启动后创建新请求时服务器在请求中看不到cookie并将其视为新会话