知识点整理之Java的Cookie操作

创建Cookie

Java代码  
  1. // new一个Cookie对象,键值对为参数  
  2. Cookie cookie = new Cookie("key", "value");  
  3. // 设置Cookie最大生存时间,以秒为单位,负数的话为浏览器进程,关闭浏览器Cookie消失  
  4. cookie.setMaxAge(60);  // 一分钟  
  5. // 将Cookie添加到Response中,使之生效  
  6. response.addCookie(cookie);  

 读取Cookie,读取Cookie只能从request中获取全部Cookie,然后迭代之.虽然Cookie也是键值对,但是貌似不能像Map一样通过Key来获取值.

Java代码  
  1. // 从request中获取Cookie,拿到的是一个Cookie数组  
  2. Cookie[] cookies = request.getCookies();  
  3. // 然后迭代之  
  4. if (cookies != null && cookies.length > 0) { //如果没有设置过Cookie会返回null  
  5.     for (Cookie cookie : cookies) {...}  
  6. }  

 删除Cookie,删除Cookie的话,只需要将Cookie的生存期设为0即可

Java代码  
  1. Cookie[] cookies = request.getCookies();  
  2. if (cookies != null && cookies.length > 0) {  
  3.     for (Cookie cookie : cookies) {  
  4.         String name = cookie.getName();  
  5.         // 找到需要删除的Cookie  
  6.         if (name.compareTo("key") == 0) {  
  7.             // 设置生存期为0  
  8.             cookie.setMaxAge(0);  
  9.             // 设回Response中生效  
  10.             response.addCookie(cookie);  
  11.         }  
  12.     }  
  13. }  

 修改Cookie,修改Cookie和删除的步骤是一样的,先找到需要删除的Cookie,然后设置它的新的Value,再设回Response

Java代码  
  1. Cookie[] cookies = request.getCookies();  
  2. if (cookies != null && cookies.length > ) {  
  3.     for (Cookie cookie : cookies) {  
  4.         if (cookie.getName.compareTo("key") == 0) {  
  5.             cookie.setValue("newValue");  
  6.             response.addCookie(cookie);  
  7.             break;  
  8.         }  
  9.     }  
  10. }  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。