Java servlet中操作cookie

来源:互联网 发布:如何修改知乎首页话题 编辑:程序博客网 时间:2024/05/22 13:18
1,创建cookie

Cookie cookie = new Cookie(name,"");cookie.setMaxAge(maxage);cookie.setPath("/");return cookie;

new 参数:name 和值(“”);

maxage:失效时间;

path:路劲,如果不设置,则默认是当前请求路劲。(对于Servlet来说为request.getContextPath() + web.xml里配置的该Servlet的url-pattern路径部分) 

创建之后要使用:response.addCookie(cookie);使之生效


2,更新cookie

cookie.setValue(value);cookie.setPath("/");response.addCookie(cookie);

同样要使用response.addCookie(cookie)使之生效,最好设置一下path,确保path值和创建是一样,否则有可能会在默认地址下产生一个cookie


3,删除

Cookie[] allcookie = request.getCookies();for(Cookie ck:allcookie){if(ck.getName().equals(name)){log.info("del cookie value:" + ck.getValue() + " path:" + ck.getPath());ck = new Cookie(name, null);ck.setMaxAge(0);ck.setPath("/");response.addCookie(ck);}}

注意:需要setPath,使之与创建的路径一样,否则删除无效。