首页 > 代码库 > <J2EE>Cookie 相关应用

<J2EE>Cookie 相关应用

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

<J2EE>Cookie 相关应用