web开发的话,http是无状态的协议,
session是保存在服务器端的,cookie是保存在浏览器端的。
java中HTTP的session对象用javax.servlet.http.HttpSession表示。
HttpServletRequest.getSession(true)产生session对象,通过session.getId()得到jsessionid。
tomcat底层维护一个ConcurrentHashMap,其键是jessionId,其值是session。
session是存储在服务器的内存中的。
session的创建:session是服务器端程序调用 。
- HttpServletRequest.getSession(true)才被创建的
- session的删除:超时;程序调用HttpSession.invalidate();服务器关闭或停止服务。
- session的存放:session是存放在服务器的内存中,另外也可以持久化到redis,数据库等
- session不会因为浏览器的关闭而删除
- 当客户端第一次请求session对象的时候,服务器会为客户端创建一个session,并通过算法生成一个jsessionid,用来标识该session对象。
==============================
浏览器关闭后Session真的消失了吗? - cookie是保存在浏览器中的,如果不设置cookie的过期时间的话,当关闭浏览器的话,cookie就会消失。此时,再通过浏览器访问服务器,服务器就会创建新的session对象,产生新的jseesionid.。