你的位置:首页 > Java教程

[Java教程]servlet中cookie的使用


---恢复内容开始---

  

Cookie是存储在客户端计算机上的文本文件,并保留了它们的各种信息跟踪的目的。 Java Servlet透明支持HTTP Cookie。

涉及标识返回用户有三个步骤:

  • 服务器脚本发送到浏览器的一组cookie。对于如: 姓名,年龄,或识别号码等。

  • 浏览器将这些信息存储在本地计算机上,以备将来使用。

  • 下一次浏览器发送任何请求,Web服务器,然后这些cookie发送信息到服务器,服务器将使用这些信息来识别用户。

 

以下是有用的方法列表时,可以使用servlet操纵cookies。

 

S.N.Method & Description
1public void setDomain(String pattern)
这个方法设置域的cookie适用,例如www.yiibai.com
2public String getDomain()
此方法获取域的cookie应用,例如yiibai.com
3public void setMaxAge(int expiry)
此方法设置cookie过期之前多少时间(以秒为单位)间隔。如果不这样设置,cookie将持续只对当前会话。
4public int getMaxAge()
此方法返回的最大年龄(周期)cookie,以秒为单位指定,默认情况下,-1表示cookie将继续下去,直到浏览器关闭。
5public String getName()
此方法返回的cookie的名称。创建后的名称不能改变。
6public void setValue(String newValue)
此方法设置的cookie值。
7public String getValue()
这种方法得到的cookie关联的值。
8public void setPath(String uri)
这个方法设定这个cookie的路径。如果你不指定路径,Cookie是相同的目录以及当前页面的所有子目录中的所有URL返回。
9public String getPath()
这种方法得到这个cookie的路径。
10public void setSecure(boolean flag)
这个方法设置布尔值,表示cookie是否应该只发送的加密(如SSL)连接。
11public void setComment(String purpose)
本方法规定了注释,说明一个cookie的目的。注释是非常有用的,如果在浏览器的cookie展现给用户。
12public String getComment()
此方法返回的注释,描述这个cookie用途或者为null,如果cookie没有注释。

 

  在servlet中使用很简单,就像这样。

       

        Cookie rmkeyCookie = new   Cookie("RMKEY",useResVo.getRmkey());        rmkeyCookie.setMaxAge(3600);        rmkeyCookie.setDomain(".why.com");        rmkeyCookie.setPath("/");        response.addCookie(rmkeyCookie);

如有多个cookie,可以new多个cookie对象,在客户端浏览器还是只有一个txt文件,只是有多个键值对。

 

或者这样;

   

response.addHeader(“set-cookie”,
StringUtil.appendString(cookieName, "=", cookieValue,
";Path=/;Domain=", domain, ";Max-Age=", maxAge, httpOnly));