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. Markdown个人常用语法

    Markdown实用格式 标题 # 标题一级 ## 标题二级 ### 标题三级 #### 标题四级 ##### 标题五级 ###### 标题六级 粗体.斜体和删除线 **加粗字体** *斜体字体* * ...

  2. MySQL慢查询日志如何开启以及分析

    1.MySQL慢查询日志是什么 (1)MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录MySQL中查询时间超过(大于)设置阈值(long_query_time)的语句,记录到慢查询日志 ...

  3. 即时性能分析工具 Pyroscope

    当网站上线后,流量增加或短暂功能故障,都会造成使用者体验相当不好,而这时该怎么快速找到性能的瓶颈呢?通常 CPU 达到 100% 时,有时候也很难复制及找出关键问题点. 本篇文章,我们会介绍一套工具叫 ...

  4. Spring Bean 的生命周期总结

    除了使用阶段外,Spring 将 bean 的生命周期定义为实例化.属性填充.初始化和销毁四个阶段,并为每个阶段提供了多个拓展点用于自定义 bean 的创建过程.这篇文章介绍了 bean 的生命周期和 ...

  5. 【NX二次开发】基准特征

    创建基准特征UF_MODL_create_fixed_daxis 创建一个固定的基准轴特征,方向由点1指向点2UF_MODL_create_fixed_dplane 创建一个固定的基准面特征,输入点和 ...

  6. 合宙模块LUA相关资料汇总

    1. 目录 1. 目录 [2. LUA二次开发](#2. LUA二次开发) 2.1 [新手教程](#2.1 新手教程) 2.2 [进阶教程](#2.2 进阶教程) 2.3 [LUA开发环境](#2.3 ...

  7. 使用 vite 构建一个表情选择插件

    初始化 Vite 基于原生 ES 模块提供了丰富的内建功能,开箱即用.同时,插件足够简单,它不需要任何运行时依赖,只需要安装 vite (用于开发与构建)和 sass (用于开发环境编译 .scss ...

  8. 玩转STM32MP157- 使用fbtft驱动 lcd ili9341

    之前使用了 fbtft 成功驱动了lcd st7735r,现在尝试下驱动 ili9341, 配置 跟之前用 fbtft 驱动 st7735r 一样,先用 make menuconfig 配置内核,添加 ...

  9. Unity不规则按钮点击区域(UGUI)

    文章目录 一. 前言 二. 最终效果 三. 实现 1.创建UICamera 2. UIPolygon节点 3. 编辑碰撞区域 5. 运行测试 6. UIPolygon代码 一. 前言 游戏开发中,可能 ...

  10. SQL Server数据库阻塞,死锁查询

    sql 查询卡顿数据库 SELECT SPID=p.spid, DBName = convert(CHAR(20),d.name), ProgramName = program_name, Login ...