1.什么是cookie
cookie是一个保存在客户机中的简单的文本文件, 这个文件与特定的 Web 文档关联在一起, 保存了该客户机访问这个Web 文档时的信息, 当客户机再次访问这个 Web 文档时这些信息可供该文档使用。
2.服务器响应给客户端cookie
//获得cookie
Cookie[] cookies=req.getCookies();
//获得cookie中的key
cookie.getName();
//获得cookie中的value
cookie.getValue();
//新建一个cookie
new Cookie("lastLoginTime",System.surrentTimeMillis()+" ");
//设置cookie有效期为1天
cookie.setMaxAge(24*60*60);
//相应给客户端一个cookie
resp.addCookie(cookie);
3.cookie特征
- 一个cookie只能存一个信息
一个web站点可以发多个cookie,最多20个
Microsoft指出InternetExplorer8增加cookie限制为每个域名50个,但IE7似乎也允许每个域名50个cookie。
Firefox每个域名cookie限制为50个。
Opera每个域名cookie限制为30个。
Safari/WebKit貌似没有cookie限制。但是如果cookie很多,则会使header大小超过服务器的处理的限制,会导致错误发生。
- cookie大小限制4k
- 300cookie为浏览器上限
4.删除cookie
//创建一个cookie,名字要和需要 删除的cookie名字 一致
Cookie cookie=new Cookie("name","bell");
//将cookie的有效期设置为0,cookie立马失效
cookie.setMaxAge(0);
//将cookie通过响应传给浏览器,不传的话,原来的cookie失效不了
resp.addCookie(cookie);
汉字编码解码
URLEncoder.encode("萌新","utf-8")
URLDecoder.encode(cookie.getValue(),"utf-8")