Cookie是服务器存在客户端的一个小于4KB的小文本,用来帮助服务器记录一些用户本地的数据,方便服务器下次访问使用。当服务器响应客户端请求的时候,会得到之前存在客户端的cookie。 取出其中有用的数据,并加工处理。W3C规定每个web应用最多有20个cookie,每天计算机最多存放300个cookie。
在使用cookie的时候计算机必须要给cookie 起个元素名称,和参数。然后服务器再响应的时候,就可以将其加入到客户端程序中去。
例如
Cookie cookie = new Cookie("name", name); cookie.setDomain("www.baidu.com");//设置cookies有效的主机 cookie.setMaxAge(0);//设置cookis的有效时间,如果是0的话,cookie不会存在客户端的。 cookie.setPath("/henau/abc/");//设置cookie的有效目录路径 response.addCookie(cookie);//将cookie发送到客户端。
以上设置还遵循一个原则就是先设置,最后再addCookie(),如果顺序颠倒可能会是你的cookie的某些设置失效。这点和servlet中的 response.getWriter(); 很相似。
setPath 访问路径
假设主机名是LocalHost
cookie.setPath("/abc/");
则 在根目录‘/‘下的servlet是访问不到该cookies的。
在/abc/目录下的servlet是可以访问得到该cookie。
在/abc/tmp/目录下的servlet也是可以访问得到这个cookie。
如果有第二个cookie为cookie2.setPath(“/abc/d/”)这个应用目录下,这时候,当你在“/abc/d/的目录下你是可以同时访问到两个cookie的”为了保证cookie的唯一性,使用domain+path+cookieName的方式保证其唯一性,不过最好的方法,还是不要出现重名的Cookie。
例如
LocakHost:80/abc/a/ cookieName
时间: 2024-10-10 14:24:57