web 2.0? 它是具有交互性的,所以http协议由于对于交互性的不完善,所以使用了 Cookie 与Session 协助使用。弥补了http无状态的缺陷。
但是为什么有要产生两个数据类型记录状态呢?
这是因为,状态不可以是随意定义的,需要服务端与客户端双方都认同。
所以相对的,对于一些后台管理系统(只有一位用户就可以不使用cookie机制了)
session与cookie都是有服务器生成的key-value键值对,用来存储特定的值的。
session存储在服务器,cookie存储在浏览器。
cookie的生命周期决定因素:
生成cookie时的的属性,以及自身的保存处理
session的生命周期决定因素:
服务器对于session对于对象的保存
cookie与session都是有默认的作用域的
cookie的属性项
Cookie的基本使用
(1)发送cookie
创建cookie对象,设置数据Cookie cookie = new Cookie( “key” ,” value” );2发送cookie到客户端:使用response对象response.addCookie(cookie):
( 2)获取cookie
获取客户端携带的所有cookie,使用request对象Cookiel cookies = request.getCookies()
遍历数组,获取每一个cookie对象:for
Session对象功能
void setAttribute(String name, Object o) : 存储数据到session域中
Object getAttribute(String name) : 根据key,获取值
void removeAttribute(String name): 根据key,删除该键值对
session自动创建的时机
// 获取会话对象
HttpSession session = request.getSession();
// 设置会话属性
session.setAttribute("username", "john");
session.setAttribute("cart", cartItems);
// 获取会话属性 String username = (String)
session.getAttribute("username");
List<Item> cart = (List<Item>)
session.getAttribute("cart");
部分内容来自B站,学习使用。