【笔记】用JavaWeb实现Cookie读写
前言
用JavaWeb实现Cookie读写
发送Cookie到客户端
创建Cookie对象
- Cookie都是由键值对构成的
<key>
:键,Cookie的名字,Cookie名字一旦指定无法修改<value>
:值,Cookie要保存的值
1 | Cookie cookie = new Cookie("<key>", "<value>"); |
如果不设置Cookie的有效期,默认关闭浏览器后就会被销毁
写入Cookie到客户端
- Cookie不支持中文
- 解决方法:转换成其他编码格式的数据
resp
:响应对象
1 | resp.addCookie(cookie); |
接收客户端传过来的Cookie
读取Cookie
- 读取到的是Cookie数组
req
:请求对象
1 | Cookie cookies[] = req.getCookies(); |
遍历Cookie数组
1 | for (Cookie cookie : cookies) { |
对Cookie对象的操作
获取Cookie的名字
- 返回String类型
1 | cookie.getName(); |
获取Cookie的值
- 返回String类型
1 | cookie.getValue(); |
获取Cookie的值
<value>
:修改后的Cookie值
1 | cookie.setValue("<value>"); |
设置Cookie有效期
<num>
:单位:秒 >负数
:缺省值,Cookie只在关闭浏览器之前有效(存储在浏览器缓存) >正数
:设置Cookie有效期(存储在硬盘上) >0
:立即删除同名Cookie
1 | cookie.setMaxAge(<num>); |
设置Cookie的请求生效路径
1 | cookie.setPath("/"); |
设置Cookie的域名共享
1 | cookie.setDomain("jd.com"); |
Cookie的注意事项
Cookie存储的数据保存在客户端
单个Cookie大小不能超过4kb
一个域名最多可以往一个客户端写20个Cookie
Cookie只能存放安全性要求不高的信息,比如密码等信息不能直接保存在Cookie
不同浏览器读取不同的Cookie