Session

1.Session技术是将数据存储在服务器端的技术,会为每个客户端都创建一块内存空间 存储客户的数据,

但客户端需要每次都携带一个标识ID去服务器中寻找属于自己的内 存空间。

所以说Session的实现是基于Cookie,Session需要借助于Cookie存储客 户的唯一性标识JSESSIONID

如果服务器端没有该会话的Session 对象会创建一个新的Session返回,如果已经有了属于该会话的Session直接将已有 Session返回

(实质就是根据JSESSIONID判断该客户端是否在服务器上已经存在 session了)

//获取属于当前会话的Session对象
        HttpSession session = request.getSession();
        //获取jsessionid 编码
         String id= session.getId();
        //向session 中存对象    
        session.setAttribute("goods", "iphone");
        
        //持久化id        
        Cookie cookie = new Cookie("JSESSIONID",id);//创建cookie     
        cookie.setPath("/WEB07");//设置同路径
        cookie.setMaxAge(2*60);
        response.addCookie(cookie);//发送cookie                    
        

总结 session 与 cookie 的不同

1、cookie数据存放在客户的浏览器上(不安全,不占用服务器资源),session数据放在服务器上(安全占用服务器资源)。

2. cookie 只能存储 String 类型的对象,session 是一个域对象 能够存储任意的 对象

3.生命周期不同,在不设置持久化时间的情况下,session默认30min ,cookie关闭浏览器后就失效了

 

posted @ 2019-04-07 20:02  LiuXiaoZhang  阅读(148)  评论(0编辑  收藏  举报