学习目录
1.会话入门
2.cookie
3.session
4.自定义缓存
5.自定义Token
6.表单重复提交(Http重复提交)
一、会话管理入门
1.1、生活中的会话
某日上课 小明和小王传小字条对话
小明:今天周五下课去网吧
小王:可以的,都一个星期没上网了 要不今晚通宵?
小明:上网可以 ,上通宵没钱不去
小王:我请你?
小明:走起。
这是在生活会话中产生的会话记录
1.2、软件中的会话
打开浏览器 -> 浏览商品列表 -> 加入购物车(把商品信息保存下来) -> 关闭浏览器
打开浏览器-> 直接进入购物车 -> 查看到上次加入购物车的商品 -> 下订单 -> 支付
在购物会话过程中,如何保存商品信息昵?
会话管理:管理浏览器客户端和服务器端之间会话过程中产生的会话数据。
域对象: 实现资源之间的数据共享。
request域对象:一定要使用转发技术来跳转页面
context域对象:context是所有用户公有的资源会覆盖数据
解决办法: 可以使用session域对象来保存会话数据
1.3、会话技术
Cookie技术:会话数据保存在浏览器客户端。
Session技术:会话数据保存在服务器端。
二、cookie
2.1、cookie特点:会话数据保存在浏览器客户端。
2.2、cookie技术核心
cookie类:用于存储会话数据
1)构造Cookie对象
new Cookie(java.lang.Stringname, java.lang.String value)
2)设置cookie
void setPath(java.lang.String uri) :设置cookie的有效访问路径
void setMaxAge(int expiry) : 设置cookie的有效时间
void setValue(java.lang.String newValue) :设置cookie的值
3)发送cookie到浏览器端保存
void response.addCookie(Cookie cookie) : 发送cookie
4)服务器接收cookie
Cookie[] cookies =request.getCookies() : 接收cookie
2.3:cookie原理
1)服务器创建cookie对象,把会话数据存储到cookie对象中。
new Cookie("name","value");
2) 服务器发送c