Name,value – 声明时 new Cookie(key,value);
Path - 默认值,即为当前保存cookie的这个serlvet所在的路径。
如果Cookie在这样的路径:http://loclhost:8080/project/abc/AServlet
则Cookie的路径为: http://loclhost/project/abc
则说明:
所在在http://loclhost/project/abc目录下的servlet才可以读取这个cookie的值。
如果:
保存Cookie类:http://loclhost:8080/project/a/b/AServlet
则Cookie的默认path为;http://loclhost/project/a/b
对于path这个值可以手工设置:
如果设置为: http://loclhost/project/ 即到项目名。
则所有这个项目中的所有Serlvet|jsp都可以读取到这个 cookie.
Cookie.setPath(requst.getContextPath());
如果将path设置为 /
即:cookie.setpath(“/”); - http://localhost/
则所有在tomcat中运行的项目都可以读取这个到cookie.
如果path设置为/必须要与domain共同使用才有意义。
Age - 默认值-1,在浏览器中存在。 0:删除文件中的cookie和浏览器中的cookie。
Domain - 域 -
www.sina.com - login
www.news.sina.com
删除时,必须要设置的与之前设置的信息完全一样:
Name
Age = 0(文件和缓存),-1(只删除文件)
Path 一样。
Domain :null
添加cookie
1 Cookie c=new Cookie("name", "jack"); 2 c.setMaxAge(30*60);//单位:秒 3 response.addCookie(c);
读取cookie
1 Cookie[] cs=request.getCookies(); 2 for(Cookie c:cs) 3 { 4 System.out.println(c.getName()); 5 System.out.println(c.getValue()); 6 System.out.println(c.getMaxAge()); 7 System.out.println(c.getPath()); 8 System.out.println(c.getDomain()); 9 }
删除cookie
1 Cookie c=new Cookie("name2", ""); 2 c.setMaxAge(-1);//0删除文件和缓存,1删除文件 3 c.setPath(request.getContextPath()); 4 response.addCookie(c);