游侠的博客 游侠的博客
首页
  • 论文笔记
  • 一些小知识点

    • pytorch、numpy、pandas函数简易解释
  • 《深度学习500问》
开发
技术
更多
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Ranger

一名在校研究生
首页
  • 论文笔记
  • 一些小知识点

    • pytorch、numpy、pandas函数简易解释
  • 《深度学习500问》
开发
技术
更多
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Vue

  • SpringBoot2

  • JavaWeb

    • Cookie详解
      • 什么是Cookie
      • 如何创建Cookie
      • 服务器如何获取Cookie
      • Cookie值的修改
      • Cookie生命控制
      • Cookie有效路径path的设置
      • 实际使用:免输入用户名登录
    • Request和Response的区别
    • Session详解
    • AJAX详解
    • HTTP请求
    • 请求转发与重定向
  • SSM

  • SpringBoot3

  • 技术
  • JavaWeb
yangzhixuan
2023-03-25
目录

Cookie详解

# 什么是Cookie

Cookie是服务器通知客户端保存键值对的一种技术

Cookie是servlet发送到Web浏览器的少量信息,这些信息由浏览器保存,然后每次请求都发送回服务器

每个Cookie的大小不能超过4kb

# 如何创建Cookie

// 1 创建Cookie对象
Cookie cookie = new Cookie("key1", "value");
// 2 通知客户端保存Cookie,可以同时添加多个
response.addCookie(cookie);
1
2
3
4

image

# 服务器如何获取Cookie

服务器获取客户端的Cookie只需要一行代码:

Cookie[] cookies = request.getCookies();

// 获取Cookie的key
cookie.getName();
// 获取Cookie的value
cookie.getValue();
1
2
3
4
5
6

image

# Cookie值的修改

方案1:创建同名Cookie对象覆盖之前的Cookie对象

Cookie cookie = new Cookie("key1", "newValue1");
response.addCookie(cookie);
1
2

方案2:先查找到需要修改的Cookie对象,调用setValue()方法赋予新的Cookie值,最后调用response.addCookie()通知客户端保存修改

Cookie cookie = CookieUtils.findCookie("key2", request.getCookies());
cookie.setValue("newValue2");
response.addCookie(cookie);
1
2
3

tips:Cookie不支持空格、中文等特殊字符,如果非要使用,需要base64编码

# Cookie生命控制

管理Cookie什么时候被销毁(删除)

主要方法:setMaxAge(),默认值为-1,即Session级别

正数表示在指定的秒数后过期

负数表示浏览器关闭删除Cookie

0表示马上删除Cookie

# Cookie有效路径path的设置

Cookie的path属性可以有效地过滤哪些Cookie可以发送给服务器,哪些不发。path属性是通过请求的地址来进行有效的过滤。

例:

CookieA:path=/工程路径

CookieB:path=/工程路径/abc

请求地址http://ip:port/工程路径/a.html

这个时候CookieA会发送,CookieB不发送

请求地址http://ip:port/工程路径/abc/a.html

这个时候CookieA发送,CookieB也发送

# 实际使用:免输入用户名登录

image

编辑 (opens new window)
上次更新: 2024/05/30, 07:49:34
七、SpringBoot的请求处理(源码分析)
Request和Response的区别

← 七、SpringBoot的请求处理(源码分析) Request和Response的区别→

最近更新
01
tensor比较大小函数
05-30
02
Large Language Models can Deliver Accurate and Interpretable Time Series Anomaly Detection
05-27
03
半监督学习经典方法 Π-model、Mean Teacher
04-10
更多文章>
Theme by Vdoing | Copyright © 2023-2024 Ranger | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式