-
session:服务端会话技术,再一次会话的多次请求中共享数据,数据会放在服务器的内存中.(浏览器从打开到关闭是一次会话).
-
获得session对象:
HttpSession session = request.getSession();
-
域对象(多次请求共享数据):
-
设置值:
session.setAttribute(String name, value)
-
获取值:
session.getAttribute(String name)
-
移除: session.removeAttribute(String name)
-
原理:依赖Cookie 存储jsessionin.
-
Session在服务器关闭:
-
当服务器关闭(正常关闭和启动服务器,不能直接关闭虚拟机),两次获得的session对象还是同一个,tomcat帮我们做了session的钝化处理(将服务器内存中的session对象序列化到了外存中,见下图)
-
当服务器重启之后又进行了session对象活化(又写入内存).
Session默认失效时间30分钟
-
当服务器关闭之后,服务器不关闭,两次获得session不是同一个.
-
如果想要相同的
Cookie ck = new Cookie(“JSESSIONID”,sesssion.getId());
ck.setMaxAge(3600);
response.addCookie(c);
补充:重定向可以用session带数据