
- 本栏最新文章
- Java对于Cookie的操作详解 06-27
- 处理大量JavaScript对象的好选择:JSON 06-26
- 动态CSS,换肤技术 05-09
- Lightbox JS v2.0 04-29
- Iframe自动适应高度 04-18
- 如何实现iframe(嵌入式帧)的自适应高度 04-18
- 根据内容自动调整IFrame高度 04-18
- 用iframe自动适应高度 04-18
- 【翻译】动态调用样式表代码 04-04
- Java更新XML地四种常用办法简略介绍(1) 04-01

- 本栏推荐文章
- ASP.NET设计网络硬盘之查看文件夹 04-29
- ASP.NET设计网络硬盘之文件夹实现 04-29
- ASP.NET设计网络硬盘之上传文件 04-29
- 小试ASP.NET 2.0的兼容性 04-29
- ASP 系列函数大全 04-29
- Asp.net Mvc Framework 九 (View与Controlle... 04-04
- 【翻译】动态调用样式表代码 04-04
- Flash AS3.0 实现FLASH的“动态链接库” 03-31
- Flash AS3.0 爽快使用XML 03-31
- MySQL的LIST分区体验与总结 03-27
Java对于Cookie的操作详解
Cookie cookie = new Cookie("key", "value");
cookie.setMaxAge(60);
设置60秒生存期,如果设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。
cookie.setPath("/test/test2");
设置Cookie路径,不设置的话为当前路径(对于Servlet来说为request.getContextPath() + web.xml里配置的该Servlet的url-pattern路径部分)
response.addCookie(cookie);
2.读取Cookie
该方法可以读取当前路径以及“直接父路径”的所有Cookie对象,如果没有任何Cookie的话,则返回null
Cookie[] cookies = request.getCookies();
3.删除Cookie
Cookie cookie = new Cookie("key", null);
cookie.setMaxAge(0);
设置为0为立即删除该Cookie
cookie.setPath("/test/test2");
删除指定路径上的Cookie,不设置该路径,默认为删除当前路径Cookie
response.addCookie(cookie);
test/test2/test345/test555/test666
a.相同键名的Cookie(值可以相同或不同)可以存在于不同的路径下。
FF.必须指定与设定cookie时使用的相同路径来删除改cookie,而且cookie的键名不论大写、小写或大小混合都要指定路径。
IE.键名小写时,如果当前路径为/test/test2,如果找不到再向上查询/test、/test555、/test345,如果还找不到就查询/ 。(/test555/test666不查询)
键名大小写混合或大写时,不指定路径则默认删除当前路径,并且不向上查询。
c.读取Cookie时只能读取直接父路径的Cookie。
如果当前路径为/test/test2,要读取的键为"key"。当前路径读取后,还要读取/test,/test读取后,还要读取/
在一个Server中有多个Web Application时要特别小心,不要设置Path为/的Cookie,容易误操作。(当然前提是域名相同)


