Session原理

一、代码解读:(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);

你可能感兴趣的:(Session原理)