会话技术是什么
会话:一次会话(浏览器一次给服务器发送多次请求,会话建立,直到有一方断开连接)中包含多次请求和响应
功能:在一次会话中共享多次请求间的数据
分类:
1.客户端会话技术:Cookie
2.服务器端会话技术:Session
客户端会话技术
1.基本使用
new Cookie(String name, String value);
// 设置头
setName(String name);
// 设置值
setValue(String value);
2.发送Cookie对象给客户端保存
response.addCookie(Cookie cookie);
3.获取客户端存储的Cookie对象,返回一个数组
Cookie[] request.getCookies();
Cookie的细节
注:cookie存储数据在客户端的浏览器上;浏览器对单个cookie大小有一定的限制(约4kb左右),同一域名下的总cookie数量也有一定的限制(20个);最后cookie一般存储小量不太敏感的数据,可以用于在不登录的情况下服务器对客户端身份的识别
服务器会话技术
- 基本语法
// 通过request获取Session
Session session = request.getSession();
// 获取指定键的值,
Object session.getAttribute(String name);
// 存储一组数据,Session对存储的值没有类型的限制,大小同样没有,但不建议存储大型数据
setAttribute(Sring name, Object value);
// 通过键删除指定的键值对
removeAttribute(String name)
注:是根据当期浏览器存储,不会出现多个浏览器共享的情况
Session的细节处理
Cookie与Session的区别
1.session存储数据在服务器端,cookie在客户端
2.session没有数据大小,Cookir有
3.session数据安全,Cookie相对