会话技术
一次会话: 客户端连接上服务器开始, 到客户端断开连接结束
Cookie: (在会话期间, 存储数据)
客户端技术, 不安全[客户端可以删除,查看], 减轻服务器压力
1.向客户端存储cookie
response.addCookie(cookie) - 本质是response.setHeader("set-cookie")
2.从客户端获取cookie
request.getCookies() - 本质是request.getHeader("cookie")
cookie默认生命周期:
new Cookie()开始, 到会话结束。
设置持久化时间
cookie.setMaxAge(int 秒);
设置时间=0, 立即删除
设置时间=-1, 恢复默认
- 如果 Cookie 不包含到期日期,则将其视为会话 Cookie。会话 Cookie 存储在内存中,永远不会写入磁盘,当浏览器关闭时,此后 Cookie 将永久丢失。
- 如果 Cookie 包含有效期 ,则将其视为持久性 Cookie。在到期指定的日期,Cookie 将从磁盘中删除。
Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT;
只有当cookie的name和path一致的时候才会认为是同一个cookie!
设置cookie的携带路径:
cookie.setPath(): / -> 当前服务器所有资源
/web03 -> 当前应用所有资源
/web03/Demo08Servlet -> 单纯只有Demo08Servlet资源
默认: 当前目录
set-cookie的资源路径: http://localhost:8080/web03/cookie/Demo07Servlet
Cookie c1 = new Cookie("name","zhangsan");
Cookie c2 = new Cookie("name","zhangsan);
c2.setPath("/");
是两个不同的cookie。