• Cookie学习总结


    Cookie简述

    1. 概念

    一种客户端会话技术,可以将一些少量的数据保存在客户端。

    2. 快速使用

    • 步骤

      1. 创建cookie对象,并设定数据

        • new Cookie(String name, String value);
      2. 发送cookie对象到客户端(将cookie加载到response)

        • response.addCookie(Cookie cookie) ;
      3. 获取cookie(获取从客户端返回的request获取cookie)

        • Cookie[] request.getCookies() ;
      4. 代码

        //设定cookie数据,创建cookie对象
        Cookie c=new Cookie("msg","hello");
        
        //发送cookie对象到客户端
        response.addCookie(c);
        
        //获取cookie并打印
        Cookie[] cs = request.getCookies();
        if(cs!=null){
            for (Cookie c : cs) {
                String name = c.getName();
                String value = c.getValue();
                System.out.println(name+":"+value);
            }
        
    • cookie的一些小细节

      1. 一次可不可以发送多个cookie?

        • 可以,同时也可以接收到多个cookie。
        • 只需要多创建几个cookie对象,多调用几次response的addCookie方法即可
      2. cookie一般在计算机保存多长时间

        1. 默认情况下,只要关掉浏览器,cookie数据就会被销毁

        2. 如何持久化储存?

          • setMaxAge(int seconds)

            1. 正数:将cookie数据写进硬盘,持久储存,并指定销毁时间seconds。

            2. 负数:默认情况

            3. 零:删除cookie信息

            4. 代码

                      Cookie c1=new Cookie("msg","hello");
                      c1.setMaxAge(300);
                      response.addCookie(c1);
              		//300秒后自动销毁
              
        3. cookie能否存中文?

          • 在tomcat 8 之前 cookie中不能直接存储中文数据。(需要URL编码)
          • 在tomcat 8 之后,cookie支持中文数据。特殊字符还是不支持,建议使用URL编码存储,URL解码解析
        4. cookie共享问题?

        5. 在同一个服务器中,项目共享cookie

          • 默认情况下,不共享
          • 使用方法setPath(String path):设置cookie的获取范围。默认情况下,设置当前的虚拟目录,如果要共享,则可以将path设置为"/"
        6. 不同的服务器之间的cookie共享?

          • setDomain(String path):如果设置一级域名相同,那么多个服务器之间cookie可以共享
            • setDomain(".baidu.com"),那么tieba.baidu.com和news.baidu.com中cookie可以共享
      3. cookie的特点和作用

        1. cookie存储数据在客户端浏览器
        2. 浏览器对于单个cookie的大小以及同一个域名下总cookie数量也有限制(20个)
        3. 作用:
          1. 由于cookie在客户端数据并不安全,cookie一般用于存储少量不太敏感的数据
          2. 他可以完成一些类似于在没有登陆的情况下,完成服务器队客户端身份的识别
  • 相关阅读:
    一个群发站内信的设计
    javascript typeof 小结
    setInterval,setTimeout的用法
    C#中常见异常类
    输入框关闭自动完成功能
    【转】javascript判断一个元素是否数组
    jquery的动态统计输入字符数方法
    giedview绑定数据格式化字符串
    jQuery 1.4单独为某个动画动作设效果
    GridView行编辑中找DropDownList控件
  • 原文地址:https://www.cnblogs.com/cell-coder/p/12404193.html
Copyright © 2020-2023  润新知