Cookie
Cookie 是服务器通知客户端保存键值对的一种技术。
创建:
Cookie cookie = new Cookie("key4", "value4");
//2 通知客户端保存 Cookie
resp.addCookie(cookie);
服务器获取Cookie:
req.getCookies():返回Cookie[]数组
cookie的生命控制
setMaxAge()
正数,表示在指定的秒数后过期
负数,表示浏览器一关,Cookie 就会被删除(默认值是-1)
零,表示马上删除 Cookie
Cookie 的 path 属性可以有效的过滤哪些 Cookie 可以发送给服务器。哪些不发。
path 属性是通过请求的地址来进行有效的过滤。
Session 会话
- 什么是 Session?
1、Session 就一个接口(HttpSession)。
2、Session 就是会话。它是用来维护一个客户端和服务器之间关联的一种技术。
3、每个客户端都有自己的一个 Session 会话。
4、Session 会话中,我们经常用来保存用户登录之后的信息。
- 如何创建 Session 和获取
request.getSession()
第一次调用是:创建 Session 会话
之后调用都是:获取前面创建好的 Session 会话对象
每个会话都有一个身份证号。也就是 ID 值。而且这个 ID 是唯一的。
getId() 得到 Session - Session 域数据的存取
req.getSession().setAttribute(“key1”, “value1”) - Session 生命周期控制
setMaxInactiveInterval()设置 Session 的超时时间(以秒为单位),超过指定的时长,Session就会被销毁。
session的底层是基于cookie实现的
无cookie时发请求,就会getSession创建会话对象,每次创建session对象都会创建一个cookie key是JSESSIONID,值是此session的ID,然后返回给客户端,创建cookie,每次调用session时,客户端都会把session的id传给服务端