一、代码解读:(HttpSession session = request.getSession())
1、第一次访问创建session对象,给session对象分配一个唯一的ID,叫JSESSIONID
2、把JSESSIONID作为Cookie的值发送给浏览器保存
3、第二次访问的时候,浏览器带着JSESSIONID的cookie访问服务器
4、服务器得到JSESSIONID,在服务器的内存中搜索是否存放对应编号的session对象。
5、如果找到对应编号的session对象,直接返回该对象
6、如果找不到对应编号的session对象,返回null或者创建新的session对象继续走1的流程。
结论:通过JSESSION的cookie值在服务器找session对象!!!!
二、手动销毁session对象
void invalidate() :销毁session对象
三、如何避免浏览器的JSESSIONID的cookie随着浏览器关闭而丢失的问题
/**
*手动发送一个cookie给浏览器,设置保存时间,保存到硬盘上
*/
Cookie c =new Cookie("JSESSIONID",session.getId());
c.setMaxAge(60*60);
response.addCookie(c);