Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。
/*上次访问时间*/
//得到上次访问的cookie对象
Cookie cookies[] = request.getCookies();
//遍历得到的cookie数组
for(int i=0;cookies!=null&&i<cookies.length;i++){
Cookie cookie = cookies[i];
//判断返回的cookie是否是上次访问的
if("lastTime".equals(cookie.getName())){
String lastTime = cookie.getValue();
Date date = new Date(Long.parseLong(lastTime));
out.print(date.toLocaleString());
}
}
/*保存这次访问的时间*/
//创建cookie对象
Cookie ck = new Cookie("lastTime",System.currentTimeMillis()+"");
/*关闭浏览器后,cookie对象在缓存中的存在时间
* 只针对/Test20111024/servlet/demo01路径对应的cookie对象来说
* setMaxAge()中的参数是以秒计算的*/
ck.setMaxAge(3600);
ck.setPath("/Test20111024/servlet/demo01");
//将该cookie对象添加到回送信息中
response.addCookie(ck);
一个Cookie只能标识一种信息,它至少含有一个标识该信息的名称(NAME)和设置值(VALUE)。
一个WEB站点可以给一个WEB浏览器发送多个Cookie,一个WEB浏览器也可以存储多个WEB站点提供的Cookie。
一个浏览器一般只允许存放300个Cookie,每个站点最多存放20个Cookie,每个Cookie的大小限制为4KB。
如果创建了一个cookie,并将他发送到浏览器,默认情况下它是一个会话级别的cookie(即存储在浏览器的内存中),用户退出浏览器之后即被删除。若希望浏览器将该cookie存储在磁盘上,则需要使用maxAge,并给出一个以秒为单位的时间。将最大时效设为0则是命令浏览器删除该cookie。
注意,删除cookie时,path必须一致,否则不会删除