Cookie

会话管理:管理浏览器客户端和服务器之间会话过程中产生的数据.
Cookie技术:会话技术保存在浏览器客户端。
Session技术:会话数据保存在服务器端。

Cookie核心技术##

Cookie技术:会话技术保存在浏览器客户端。

  1. 构造Cookie对象
Cookie.(java.lang.String name, java.lang.String value) ```
2. 设置Cookie
 设置Cookied的有效访问路径   

void setPath(java.lang.String uri) ```
        有效路径指的是cookie的有效路径保存在哪里,那么浏览器在有效路径下访问服务器就会带着cookie信息,否则不带cookie信息。

设置Cookie的有效时间

void setMaxAge(int expiry)  

        正整数:表示cookie数据保存到cookie数据的缓存目录(硬盘中),数值表示保存的时间。
        负整数:表示cookie数据保存到浏览器内存中,浏览器关闭,cookie丢失。
        零:表示删除同名的cookie数据。
设置Cookie的值

void setValue(java.lang.String newValue)  
  1. 发送Cookie到浏览器端保存
void response。addCookie(Cookie cookie) 
  1. 服务器接收Cookie
Cookie[] request.getCookies() 

Cookie原理

  1. 服务器创建cookie对象,把会话数据存储到cookie对象中。
new Cookie("name","value");
  1. 服务器发送cookie信息到浏览器
response.addCookie(cookie);```
3. 浏览器得到服务器发送的cookie,然后保存在浏览器端
4. 浏览器在下次访问服务器时,会带着cookie信息
5. 服务器收到浏览器带的cookie信息

request.getCookie();```
        注意:cookie数据类型只能保存非中文字符串类型。可以保存多个cookie,但是浏览器一般只允许存放300个cookie,每个站点最多存放20个cookie,每个cookie的大小限制为4KB。
举例

         /**
         * 1.创建Cookie对象
         */
        Cookie cookie = new Cookie("name","eric");
        /**
         * 2.服务器发送Cookie信息到浏览器
         */
        response.addCookie(cookie);
        /**
         * 3.浏览器发送Cookie到服务器
         */
        Cookie[] cookies = request.getCookies();
        if(cookies!=null){
            for(Cookie c:cookies){
                String name = c.getName();
                String value = c.getValue();
                System.out.println(name+"="+value);
            }
        }else{
            System.out.println("没有Cookie信息");
        }

**运行结果:

Cookie_第1张图片
第一次访问.jpg

Cookie_第2张图片
第一次访问1.jpg
Cookie_第3张图片
服务器发送Cookie信息到浏览器.jpg
Cookie_第4张图片
第二次访问.jpg

你可能感兴趣的:(Cookie)