Cookie是一种在客户端保持HTTP状态信息的技术,它好比商场发放的优惠卡。
Cookie是在浏览器访问WEB服务器的某个资源时,由WEB服务器在HTTP响应消息头中附带传送给浏览器的一片数据,WEB服务器传送给各个客户端浏览器的数据是可以各不相同的。
Set-Cookie2头字段中的属性
Comment=value
Discard
Domain=value
例如:Set-Cookie2: user=it315; Version=1; Path=/; Domain=.it315.org
Max-Age=value
Path=value
Port[="portlist"]
Secure
Version=value
Cookie请求头字段
Cookie请求头字段中的每个Cookie之间用逗号(,)或分号(;)分隔。
在Cookie请求头字段中除了必须有“名称=值”的设置外,还可以有Version、Path、Domain、Port等几个属性。
在Version、Path、Domain、Port等属性名之前,都要增加一个“$”字符作为前缀。
在Servlet程序中使用Cookie
Cookie类的方法:
构造方法: public Cookie(java.lang.String name,java.lang.String value)
getName方法
setValue与getValue方法
setMaxAge与getMaxAge方法
setPath与getPath方法
setDomain与getDomain方法
setVersion与getVersion方法
setComment与getComment方法
setSecure与getSecure方法
Cookie的综合实例à功能说明
程序包含两个Servlet组件:CookieServlet1.java和CookieServlet2.java。
CookieServlet1中产生四个名称分别为name、nickname、email、phone的Cookie信息。name和nickname这两个Cookie的值是通过请求参数来设置的,并且nickname这个Cookie保持有效的时间为1年,email和phone这两个cookie的值是在程序中硬编码指定的。
在产生Cookie信息之后,CookieServlet1接着从请求消息中查找名称为nickname的Cookie信息,并根据返回结果打印出相应的问候语,CookieServlet1还打印出请求消息中的Cookie头字段的值。
CookieServlet2首先创建三个名称分别为email、phone、sign的Cookie信息,并将phone这个Cookie保持有效的时间设置为了0秒,然后打印出请求消息中的Cookie头字段的值和每个Cookie的名称。
CookieServlet2中的email和phone这两个Cookie曾在CookieServlet1程序中设置过,在CookieServlet2程序再次进行设置,是为了便于查看设置同名Cookie的效果和了解如何删除Cookie。
本文详细介绍了HTTP Cookie的工作原理和技术细节,包括Cookie如何在浏览器与服务器间传递、Set-Cookie2头字段中的各种属性及其作用,以及如何在Servlet程序中使用Cookie类进行操作。
1万+

被折叠的 条评论
为什么被折叠?



