通常情况下,session的作用范围是整个浏览会话,也就是说,当浏览器重启时,以前在session中保存的数据失效。如下图所示:
那么如何实现重启浏览器后,仍然能够得到以前的数据?只需修改JSESSIONID的过期时间。
Cookie cookie = new Cookie("JSESSIONID", ServletActionContext.getRequest().getSession().getId());
cookie.setMaxAge(7 * 24 * 60 * 60); // 7天有效期
ServletActionContext.getResponse().addCookie(cookie);
修改后的过期时间为7天后,如图所示,再次重启浏览器时,就不会丢失数据了。