所谓Cookie是服务器用于向客户端写文本信息的一个功能。它是基于Http协议的。在Java EE API中的javax.servlet.http.Cookie可查。它是一“名称-值”的方式保存的。主要的方法有:
构造方法:Cookie(String name, String value)
主要操作:
String getName() :Returns the name of the cookie.
String getValue() : Returns the value of the cookie.
void setMaxAge(int expiry) :Sets the maximum age of the cookie in seconds.
void setValue(String newValue) : Assigns a new value to a cookie after the cookie is created.
读写操作:
利用HttpServletResponse的addCookie(Cookie)方法将它设置到客户端
利用HttpServletRequest的getCookies()方法来读取客户端的所有Cookie,返回一个Cookie数组。
注意点:
1:Cookie写入的只能是文本内容,且长度不能大于4K
2:客户端可以阻止服务器写入Cookie。在浏览器中的工具项中设置
3:每个应用只能拿自己webapp写入的东西
4:Cookie分为两种
属于窗口/子窗口(放在内存中的).当窗口关闭时当前Cookie功能消失。
属于文本(有生命周期的),当前Cookie保存到所设置的时间内。
5:一个servlet/jsp设置的cookies能够被 同一个路径下面或者子路径下面的 servlet/jsp读到。
即:在http://sina.cn/client/setcookie.jsp下设置的cookie
可以在http://sina.cn/client/show/getcookie.jsp中拿到。但反之不成立。
(Tip:4、5两条适用于IE浏览器,在其他浏览器中不一定成立)