Java小技巧:关于Cookie的操作

冰鉴186

冰鉴186

2016-02-19 20:08

今天图老师小编要向大家分享个Java小技巧:关于Cookie的操作教程,过程简单易学,相信聪明的你一定能轻松get!

  测试环境:JDK1.5、Tomcat5.5

  1.设置Cookie

  1Cookie cookie = new Cookie("key", "value");

  2cookie.setMaxAge(60); //设置60秒生存期,假如设置为负值的话,则为浏览器进程Cookie(内存中保存),关闭浏览器就失效。

  3cookie.setPath("/test/test2"); //设置Cookie路径,不设置的话为当前路径(对于Servlet来说为request.getContextPath() + web.XML里配置的该Servlet的url-pattern路径部分)

  4response.addCookie(cookie);

  2.读取Cookie

  11//该方法可以读取当前路径以及“直接父路径”的所有Cookie对象,假如没有任何Cookie的话,则返回null

  22Cookie[] cookies = request.getCookies();

  3.删除Cookie

  1Cookie cookie = new Cookie("key", null);

  2cookie.setMaxAge(0); //设置为0为立即删除该Cookie

  3cookie.setPath("/test/test2"); //删除指定路径上的Cookie,不设置该路径,默认为删除当前路径Cookie

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  4response.addCookie(cookie);

  4.注重:假设路径结构如下

  /

  /test

  /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读取后,还要读取/

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  d.在做Java的web项目时,由于一般的Web服务器(如Tomcat或Jetty)都用Context来治理不同的Web Application,这样对于每个Context有不同的Path,

  在一个Server中有多个Web Application时要非凡小心,不要设置Path为/的Cookie,轻易误操作。(当然前提是域名相同)


展开更多 50%)
分享

猜你喜欢

Java小技巧:关于Cookie的操作

编程语言 网络编程
Java小技巧:关于Cookie的操作

Java应用技巧:对于 Cookie 的操作详解

编程语言 网络编程
Java应用技巧:对于 Cookie 的操作详解

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Java 创建cookie和删除cookie

Web开发
Java 创建cookie和删除cookie

javascript操作cookie

Web开发
javascript操作cookie

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

JavaScript Cookie操作 笔记

Web开发
JavaScript Cookie操作 笔记

Jquery cookie操作代码

Web开发
Jquery cookie操作代码

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

使用Word作为默认HTML编辑器

使用Word作为默认HTML编辑器

JAVA和.NET两个平台对于安全功能的比较

JAVA和.NET两个平台对于安全功能的比较
下拉加载更多内容 ↓