会话技术
Cookie技术:会话数据保存在浏览器客户端
Session技术:会话数据保存在服务器端
Cookie类:用于存储会话数据
1)构造Cookie对象
Cookie(java.lang.String name,java.lang.String value)
2)设置cookie
void setPath(java.lang.String uri):设置cookie的有效访问路径
void setMaxAge(int expiry):设置cookie的有效时间
void setValue(java.lang.String newValue newValue):设置cookie的值
3)发送cookie到浏览器保存
void response.addCookie(Cookie cookie):发送cookie
4)服务接收cookie
Cookie[] request.getCookies():接收cookie
3.3Cookie原理
1)服务器创建cookie对象,把会话数据存储到cookie对象中
new Cookie(“name”,”value”);
2)服务器发送cookie信息到浏览器
response.add(cookie);
举例:set-cookie:name=eric(隐藏发送了一个set-cookie名称的响应头)
3)浏览器得到服务器发送的cookie,然后保存在浏览器端
4)浏览器在下次访问服务器时,会带着cookie信息
举例:cookie:name=eric(隐藏带着一个叫cookie名称的请求头)
5)服务器接收到来自浏览器带来的cookie信息
request.getCookies();
3.4Cookie的细节
1)void setPath(java.lang.String uri):设置cookie的有效访问路径。有效路径指的是cookie的有效路径保存在哪里,那么浏览器在有效路径下访问就会带着cookie信息,否则不带cookie信息
2)void setMaxAge(int expiry):设置cookie的有效时间
正整数:表示cookie数据保存在浏览器的缓存目录中(硬盘),数值表示保存时间(秒为单位)
负整数:关闭浏览器cookie丢失
零:表示删除同名的cookie数据
3)cookie数据类型只能保存非中文字符串类型的。可以保存多个cookie,但是浏览器一般只允许存放300个cookie,每个站点最多存放20个cookie,每个cookie的大小限制4kb。而且不可以出现ascii(44,32)的字符,也就是空格 和逗号 ,