Java操作Cookie详解[Java编程]
本文“Java操作Cookie详解[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1.设置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);
4.注意:假定途径构造以下
test/test2/test345/test555/test666
a.相同键名的Cookie(值可以相同或差别)可以存在于差别的途径下.
b. 删除时,假如当前途径下没有键为"key"的Cookie,则查询全部父途径,检索到就履行删除操作(每次只能删除一个与自己近来的父途径Cookie)
FF.必须指定与设定cookie时利用的相同途径来删除改cookie,并且cookie的键名不管大写、小写或大小混合都要指定途径.
IE.键名小写时,假如当前途径为/test/test2,假如找不到再向上查询/test、/test555、/test345,假如还找不到就查询/ .(/test555/test666不查询)
键名大小写混合或大写时,不指定途径则默许删除当前途径,并且不向上查询.
c.读取Cookie时只能读取直接父途径的Cookie.
假如当前途径为/test/test2,要读取的键为"key".当前途径读取后,还要读取/test,/test读取后,还要读取/
d.在做Java的web项目时,由于普通的Web服务器(如Tomcat或Jetty)都用Context来管理差别的Web Application,这样关于每个Context有差别的Path,
在一个Server中有多个Web Application时要分外当心,不要设置Path为/的Cookie,简单误操作.(当然前提是域名相同)
以上是“Java操作Cookie详解[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |