Java 小技巧:关于 Cookie 的操作
1.
设置
Cookie
Cookie cookie = new Cookie("key", "value");
cookie.setMaxAge(60); //设置 60 秒生存期,假如设置为负值的话,则为浏览
器进程 Cookie(内存中保存),关闭浏览器就失效。
cookie.setPath("/test/test2"); //设置 Cookie 路径,不设置的话为当前路径(对
于 Servlet 来 说 为 request.getContextPath() + web.XML 里 配 置 的 该 Servlet 的
url-pattern 路径部分)
response.addCookie(cookie);
2.
读取
Cookie
Cookie[] cookies = request.getCookies();
//该方法可以读取当前路径以及“直接父路径”的所有 Cookie 对象,假如没
有任何 Cookie 的话,则返回 null
例子:
Cookie cookies[] = request.getCookies();
if (cookies != null)
{
for (int i = 0; i < cookies.length; i++)
{
if (cookies[i].getName().equals("cookiename"))
{
System.out.println("+++++++++++++++++++++++++++++++++++:"+URLDecoder.deco
de(cookies[i].getValue(),"UTF-8"));
}
}
}
3.
删除
Cookie
Cookie cookie = new Cookie("key", null);
cookie.setMaxAge(0); //设置为 0 为立即删除该 Cookie
cookie.setPath("/test/test2"); //删除指定路径上的 Cookie,不设置该路径,默
认为删除当前路径 Cookie
response.addCookie(cookie);
4.
注重:假设路径结构如下
/test