JavaWeb——Cookie、Session

发布于 2018-12-12  26 次阅读


Cookie和Session 概念:

  1. Cookie:浏览器的第一次连接,我们可以从Servlet中设置Cookie,Cookie可以携带4096字节键值对形式的数据保存在客户端,一般用来客户认证。
  2. Session:把数据保存在客户端显然是不安全的,于是就有了Session,通过Cookie识别不同用户,存储私密信息以及大于4096的数据,在服务器中。

Cookie相关的方法:

        //new Cookie(String name, String value) :创建Cookie对象,绑定数据
        //response.addCookie(Cookie cookie) :发送Cookie对象
        //setMaxAge(int seconds) : 设置cookie在浏览器保存时间
        //setPath(String path) :设置Cookie获取范围
        //Cookie[]  request.getCookies()  :获取Cookie,拿到数据

Cookie特点:

  1. 同一域名下Cookie对象可以创建多个,最多20个;
  2. 同一tomcat下Cookie数据共享默认在虚拟目录内,如果设置用setPat()方法
  3. Cookie在浏览器中默认关闭浏览器数据消失,通过setMaxAge()方法设置

Session相关的方法:

javaweb中用的是HttpSession , 在框架SpringMVC中用到的是@SessionAttributes

        //获取HttpSession对象
        //HttpSession session = request.getSession();
        //void setAttribute(String name, Object value) : 添加属性
        //Object getAttribute(String name) :根据name获取属性
        //void removeAttribute(String name) :根据name删除属性

Session特点:

  1. Session的实现是依赖Cookie
  2. 服务器不管获取的Session默认不是同一个Sesssion
  3. 服务器关闭Session被销毁
  4. Session可以存储任意类型,任意大小的数据

Nothing is impossible