background image

 
getValue()/setValue():获取/设置 Cookie 的值。如前所述,名称和值实际上是程序员始终关心
的两个方面。不过也有一些例外情况,比如把名称作为逻辑标记(也就是说,如果该名称
存在,则表示 true)。
  getVersion()/setVersion():获取/设置 Cookie 所遵从的协议版本。默认版本 0(遵从原先
的 Netscape 规范);版本 1 遵从 RFC 2109,但尚未得到广泛的支持。
  3.将 Cookie 加入 HTTP 头中
  可将 addCookie()方法加入到 Set-Cookie 应答头。如下所示:
  Cookie usernameCookie = new Cookie("username", "dzycsai");
  response.addCookie(userCookie);

  4.读取 Cookie
  从客户端读取 Cookie 时调用的是 request 对象的 getCookies()方法。该方法返回一个与
HTTP 请求头中的内容对应的 Cookie 对象数组。得到这个数组之后,一般是用循环语句访
问其中的各个元素,并调用 getName()检查各个 Cookie 的名字,直至找到目标 Cookie 为
止;然后对这个目标 Cookie 调用 getValue(),根据获得的结果进行其他处理。
  5.Cookie 工具函数
   用 request 对 象的 getCookies()方法 得到 一个 Cookie 对象 的数 组, 要找 到指 定的
Cookie 对象比较麻烦,这时可以编写一个得到指定名称的 Cookie 对象值的方法,这里,
提供一个这样的函数。
  String getCookieValue(Cookie[] cookieArray,
  String cookieName,String defaultValue) {
  for(int i=0; i
  Cookie cookie = cookies[i];
  if (cookieName.equals(cookie.getName()))
  return(cookie.getValue());
  }
  return(defaultValue);
  }

  在此方法中,第一个参数是一个 Cookies 数组,可以用 request.getCookies()方法得到;
第二个参数 cookieName,查找的 Cookie 对象的名称;第三个参数 defaultValue 是在没有找
到指定的 Cookie 对象时返回的值。