博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java对cookie的操作_01
阅读量:6895 次
发布时间:2019-06-27

本文共 4667 字,大约阅读时间需要 15 分钟。

1 /**  2          * 读取所有cookie  3          * 注意二、从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,也不会被提交。浏览器提交Cookie时只会提交name与value属性。maxAge属性只被浏览器用         来判断Cookie是否过期  4          * @param request  5          * @param response  6          */  7         @RequestMapping("/showCookies")  8         public void showCookies(HttpServletRequest request,HttpServletResponse response ){  9               10             Cookie[] cookies = request.getCookies();//这样便可以获取一个cookie数组 11             if (null==cookies) { 12                 System.out.println("没有cookie========="); 13             } else { 14                 for(Cookie cookie : cookies){ 15                     System.out.println("name:"+cookie.getName()+",value:"+ cookie.getValue()); 16                 } 17             } 18               19         } 20         /** 21          * 添加cookie 22          * @param response 23          * @param name 24          * @param value 25          */ 26         @RequestMapping("/addCookie") 27         public void addCookie(HttpServletResponse response,String name,String value){ 28             Cookie cookie = new Cookie(name.trim(), value.trim()); 29             cookie.setMaxAge(30 * 60);// 设置为30min 30             cookie.setPath("/"); 31             System.out.println("已添加==============="); 32             response.addCookie(cookie); 33         } 34         /** 35          * 修改cookie 36          * @param request 37          * @param response 38          * @param name 39          * @param value 40          * 注意一、修改、删除Cookie时,新建的Cookie除value、maxAge之外的所有属性,例如name、path、domain等,都要与原Cookie完全一样。否则,浏览器将视为两个不          同的Cookie不予覆盖,导致修改、删除失败。 41          */ 42         @RequestMapping("/editCookie") 43         public void editCookie(HttpServletRequest request,HttpServletResponse response,String name,String value){ 44             Cookie[] cookies = request.getCookies(); 45             if (null==cookies) { 46                 System.out.println("没有cookie=============="); 47             } else { 48                 for(Cookie cookie : cookies){ 49                     if(cookie.getName().equals(name)){ 50                         System.out.println("原值为:"+cookie.getValue()); 51                         cookie.setValue(value); 52                         cookie.setPath("/"); 53                         cookie.setMaxAge(30 * 60);// 设置为30min 54                         System.out.println("被修改的cookie名字为:"+cookie.getName()+",新值为:"+cookie.getValue()); 55                         response.addCookie(cookie); 56                         break; 57                     } 58                 } 59             } 60               61         } 62         /** 63          * 删除cookie 64          * @param request 65          * @param response 66          * @param name 67          */ 68         @RequestMapping("/delCookie") 69         public void delCookie(HttpServletRequest request,HttpServletResponse response,String name){ 70             Cookie[] cookies = request.getCookies(); 71             if (null==cookies) { 72                 System.out.println("没有cookie=============="); 73             } else { 74                 for(Cookie cookie : cookies){ 75                     if(cookie.getName().equals(name)){ 76                         cookie.setValue(null); 77                         cookie.setMaxAge(0);// 立即销毁cookie 78                         cookie.setPath("/"); 79                         System.out.println("被删除的cookie名字为:"+cookie.getName()); 80                         response.addCookie(cookie); 81                         break; 82                     } 83                 } 84             } 85         } 86  87 /** 88      * 根据名字获取cookie 89      * @param request 90      * @param name cookie名字 91      * @return 92      */ 93     public  Cookie getCookieByName(HttpServletRequest request,String name){ 94         Map
cookieMap = ReadCookieMap(request); 95 if(cookieMap.containsKey(name)){ 96 Cookie cookie = (Cookie)cookieMap.get(name); 97 return cookie; 98 }else{ 99 return null;100 } 101 }102 103 104 105 /**106 * 将cookie封装到Map里面107 * @param request108 * @return109 */110 private Map
ReadCookieMap(HttpServletRequest request){ 111 Map
cookieMap = new HashMap
();112 Cookie[] cookies = request.getCookies();113 if(null!=cookies){114 for(Cookie cookie : cookies){115 cookieMap.put(cookie.getName(), cookie);116 }117 }118 return cookieMap;119 }120   

 

转载于:https://www.cnblogs.com/geekdc/p/5760084.html

你可能感兴趣的文章
RxJava 沉思录(二):空间维度
查看>>
Curator: ZooKeeper的使用配方
查看>>
Python类、模块、包的概念及区别
查看>>
Spark in action on Kubernetes - Playground搭建与架构浅析
查看>>
Android Clipboard 详解
查看>>
柯里化
查看>>
猪年KubeCon+CloudNativeCon中国论坛提案征集(CFP)2月22日截止
查看>>
从零到一 styled-components 4.x 的使用
查看>>
js 插入算法
查看>>
JavaScript 字符串简介
查看>>
这样的单点登录才最有效果,很多大咖牛人都不知道!
查看>>
Parcel + react + ts 的脚手架
查看>>
计算时间差,页面倒计时,安卓与ios兼容问题
查看>>
Nginx反向代理和jetty服务器配置
查看>>
函数节流和防抖
查看>>
OpenStack安装流程(juno版)- 添加网络服务(neutron)
查看>>
【修真院PM小课堂】知识付费发展史
查看>>
高阶组件 + New Context API = ?
查看>>
深入理解盒模型与BFC
查看>>
Linux 添加用户并赋予权限
查看>>