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. 他可以完成一些类似于在没有登陆的情况下,完成服务器队客户端身份的识别

Cookie学习总结的更多相关文章

  1. Cookie学习笔记二:Cookie实例

    今天说说刚刚学到的两个Cookie的最经典应用:自己主动登录和购物车设置 一:自己主动登录 须要两个页面:login.jsp与index.jsp,login.jsp用来输出登录信息,index.jsp ...

  2. cookie学习指南

    一.什么是cookie cookie也叫HTTP cookie,最初是用来客户端和服务器端进行会话用的,由于HTTP是一种无状态的协议,为了维持用户和跟踪用户信息,所以引入了cookie和sessio ...

  3. 关于COOKIE学习的一二

    index.php <?php setcookie("name","dalisng",time()+3600); setcookie("addr ...

  4. cookie学习

    cookie是储存于访问者的计算机中的变量,每当同一台计算机通过浏览器请求某个页面时,就会发送这个cookie,可以使用javascript来创建和取回cookie的值. 创建和存储cookie 首先 ...

  5. 保存会话数据——cookie学习

    Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器.当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去.这样,web资源处理的就是用户各自的数据了 ...

  6. PHP Cookie学习

    <?php /* Cookie在计算机中保存的格式 用户名@网站地址[数字].txt Cookie在文件夹下,每个Cookie文件都是一个简单而又普通的文件件而不是程序,Cookie中的内容大多 ...

  7. 【转载】HTTP Cookie学习笔记

    什么是cookie? cookie是什么?是饼干,小甜点? No! No! No! 我今天要总结的cookie并不是你所想的小甜心,我这里要说的cookie是Web开发中的一个重要的"武器& ...

  8. Session、Cookie 学习笔记

    在开始今天的博文之前首先为自己庆祝一下自己有了三个粉丝,也有了同僚的评论,说实话因为这个开心了好久!哈哈,好了在开始今天的正题之前,首先大家需要了解以下几点: a. HTTP 协议是无状态的协议,WE ...

  9. javaweb之Cookie学习

    Cookie简介 HTTP是无状态协议,服务器不能记录浏览器的访问状态,也就是说服务器不能区分中两次请求是否由一个客户端发出.这样的设计严重阻碍的Web程序的设计.如:在我们进行网购时,买了一条裤子, ...

  10. Cookie学习笔记

    1.简介 1.什么是cookie:cookie是一种能够让网站服务器把少量数据(4kb左右)存储到客户端的硬盘或内存.并且读可以取出来的一种技术. 2.当你浏览某网站时,由web服务器放置于你硬盘上的 ...

随机推荐

  1. httprunner 2.5.7 下.env 文件环境变量的使用及debugtalk的使用,对test的参数化及执行

    一.httprunner 2.5.7 下.env  文件的使用 1..env 文件配置如下: 2.debugtalk.py 编写如下: 在debugtalk.py中增加开始和结束执行语句: 3.需要做 ...

  2. python-selenium 引入包或者类的清晰写法

    #cording=gbk#一般最上面放系统自带的包或者类import os import time##第二层放第三方下载的包或者类from selenium import webdriverfrom ...

  3. 『动善时』JMeter基础 — 46、使用Badboy工具录制JMeter脚本

    目录 1.使用Badboy录制JMeter脚本 2.使用Badboy参数化配置 3.解决"当前页面的脚本发生错误"提示框 4.总结 1.使用Badboy录制JMeter脚本 打开B ...

  4. .Net RabbitMQ实战指南——HTTP API接口调用

    RabbitMQ Management插件还提供了基于RESTful风格的HTTP API接口来方便调用.一共涉及4种HTTP方法:GET.PUT.DELETE和POST.GET方法一般用来获取如集群 ...

  5. Java synchronized对象级别与类级别的同步锁

    Java synchronized 关键字 可以将一个代码块或一个方法标记为同步代码块.同步代码块是指同一时间只能有一个线程执行的代码,并且执行该代码的线程持有同步锁.synchronized关键字可 ...

  6. Android开发问题之Installation failed due to invalid URI!

    真机调试遇到以下问题: [2017-07-20 13:43:53 - VCL02PANEL] Installation failed due to invalid URI![2017-07-20 13 ...

  7. MATLAB导入txt和excel文件技巧汇总:批量导入、单个导入

    在使用MATLAB的时候,想必各位一定会遇到导入数据的问题.如果需要导入的数据其数据量巨大的话,那么在MATLAB编辑器中将这些数据复制粘贴进来,显然会在编辑器中占据巨大的篇幅,这是不明智的. 一般来 ...

  8. centos8 安装VNC配置远程连接

    系统信息 [root@centos8 ~]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) [root@centos8 ~] ...

  9. AcWing 341. 最优贸易

    C国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市. 任意两个城市之间最多只有一条道路直接相连. 这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的 ...

  10. Linux | Linux常用指令学习笔记

    @ 目录 前言 1. Linux目录结构: 2. 运行级别: init.systemctl 3. vim相关快捷键: 4. 开关机相关命令: shutdowm.halt.reboot.sync.log ...