• 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html
  • 极客专栏正式上线!欢迎访问 https://www.jikewenku.com/topic.html

Java管理Cookie增删改查操作

技术杂谈 勤劳的小蚂蚁 3个月前 (01-22) 70次浏览 已收录 0个评论 扫描二维码

Cookie属性

了解这几个属性之后,就知道如何进行Cookie的操作了。

name

Cookie的名称。

value

Cookie的值。

maxAge

Cookie的失效时间,有以下几种值,默认为-1
说明
负数浏览器关闭后cookie就失效
0马上清除cookie
正数设置过期时间,单位:秒

path

Cookie的有效路径, /表示这个路径即该工程下都可以访问该cookie 如果不设置路径,那么只有设置该cookie路径及其子路径可以访问。

获取所有Cookie

  1. publicstaticCookie[] getCookies(HttpServletRequest request){
  2.    return request.getCookies();
  3. }
获取cookie很简单,直接从request中获取即可。

根据名称获取指定Cookie

  1. publicstaticCookie getCookieByName(HttpServletRequest request,String name){
  2.    if(StringUtils.isBlank(name)){
  3.        returnnull;
  4.    }
  5.    Cookie[] cookies = getCookies(request);
  6.    if(null!= cookies){
  7.        for(Cookie cookie : cookies){
  8.            if(name.equals(cookie.getName())){
  9.                return cookie;
  10.            }
  11.        }
  12.    }
  13.    returnnull;
  14. }
从所有cookie中循环判断进行获取指定cookie。

添加Cookie

  1. publicstaticboolean addCookie(HttpServletResponse response,String name,String value,
  2.            int maxAge){
  3.    if(StringUtils.isBlank(name)||StringUtils.isBlank(value)){
  4.        returnfalse;
  5.    }
  6.    Cookie cookie =newCookie(name.trim(), value.trim());
  7.    if(maxAge <=0){
  8.        maxAge =Integer.MAX_VALUE;
  9.    }
  10.    cookie.setMaxAge(maxAge);
  11.    cookie.setPath("/");
  12.    response.addCookie(cookie);
  13.    returntrue;
  14. }
这个添加很简单。

删除Cookie

  1. publicstaticboolean removeCookie(HttpServletRequest request,HttpServletResponse response,
  2.            String name){
  3.    if(StringUtils.isBlank(name)){
  4.        returnfalse;
  5.    }
  6.    Cookie[] cookies = getCookies(request);
  7.    if(null!= cookies){
  8.        for(Cookie cookie : cookies){
  9.            if(name.equals(cookie.getName())){
  10.                cookie.setValue(null);
  11.                cookie.setMaxAge(0);
  12.                cookie.setPath("/");
  13.                response.addCookie(cookie);
  14.                returntrue;
  15.            }
  16.        }
  17.    }
  18.    returnfalse;
  19. }
删除cookie,把 value设置为null,把 max-age设置为0就行了。

注意

编辑操作和删除操作一样,但是需要注意的是修改、删除Cookie时,除value、maxAge之外的所有属性,例如name、path、domain等,都要与原Cookie完全一样。否则,浏览器将视为两个不同的Cookie不予覆盖,导致修改、删除失败。


丨极客文库, 版权所有丨如未注明 , 均为原创丨
本网站采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行授权
转载请注明原文链接:Java管理Cookie增删改查操作
喜欢 (0)
[247507792@qq.com]
分享 (0)
勤劳的小蚂蚁
关于作者:
温馨提示:本文来源于网络,转载文章皆标明了出处,如果您发现侵权文章,请及时向站长反馈删除。

您必须 登录 才能发表评论!

  • 精品技术教程
  • 编程资源分享
  • 问答交流社区
  • 极客文库知识库

客服QQ


QQ:2248886839


工作时间:09:00-23:00