jsp状态管理
http协议无状态性
无状态是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求。
但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是刚才那个浏览器。
保存用户状态的两大机制
- Session
- Cookie
Cookie简介
Cookie:中文名称为 “小甜饼” ,是Web服务器保存在客户端的一系列文本信息。
典型应用一:判定注册用户是否已经登录网站。
典型应用二:“ 购物车” 的处理
生活中Cookie的应用:
- 系统自动记录已经浏览过的视频
- 记住用户名密码实现自动登录的功能
Cookie的作用
- 对特定对象的追踪
- 保存用户网页浏览记录与习惯
- 简化登录
安全风险:容易泄露用户信息
Cookie的创建与使用
创建Cookie对象
Cookie newCookie = new Cookie(String key, Object value);
写入Cookie对象
response.addCookie(newCookie);
读取Cookie对象
Cookie[] cookies = request.getCookies();
常用方法:
void setMaxAge(int expiry)//设置cookie的有效期,以秒为单位
void setValue(String value)//在cookie创建后,对cookie进行赋值
String getName()//获取cookie的名称
String getValue()//获取cookie的值
int getMaxAge()//获取cookie的有效时间,以秒为单位
Session与Cookie的对比
Session
在服务器端保存用户信息
session中保存的是Object类
随着会话的结束而将其存储的数据销毁
保存重要的信息Cookie
在客户端保存用户信息
Cookie保存的是String类型
cookie可以长期保存在客户端
保存不重要的用户信息