Java Web工具CookieSupport

[java]  view plain copy
  1. /* 
  2.  * CookieSupport.java 
  3.  * Copyright (C) 2007-3-19  <[email protected]> 
  4.  * 
  5.  *        This program is free software; you can redistribute it and/or modify 
  6.  *        it under the terms of the GNU General Public License as published by 
  7.  *      the Free Software Foundation; either version 2 of the License, or 
  8.  *     (at your option) any later version. 
  9.  * 
  10.  *       This program is distributed in the hope that it will be useful, 
  11.  *      but WITHOUT ANY WARRANTY; without even the implied warranty of 
  12.  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
  13.  *        GNU General Public License for more details. 
  14.  * 
  15.  */  
  16. package org.lambdasoft.web.support;  
  17. import java.util.HashMap;  
  18. import java.util.Map;  
  19. import java.util.Set;  
  20. import javax.servlet.http.Cookie;  
  21. import javax.servlet.http.HttpServletRequest;  
  22. import javax.servlet.http.HttpServletResponse;  
  23. import org.lambdasoft.utils.StringUtils;  
  24. /** 
  25.  * @author TangLei <[email protected]> 
  26.  * @date 2008-12-17 
  27.  */  
  28. public class CookieSupport {  
  29.     private CookieSupport() {  
  30.     }  
  31.     /** 
  32.      * 写cookies 
  33.      *  
  34.      * @param response 
  35.      * @param cookieParams 
  36.      * @param maxAge 
  37.      */  
  38.     public static final void writeCookies(HttpServletResponse response,  
  39.             Map<String, String> cookieParams, int maxAge) {  
  40.         if (cookieParams == null || cookieParams.size() == 0)  
  41.             return;  
  42.         Set<String> keySet = cookieParams.keySet();  
  43.         for (String key : keySet) {  
  44.             Cookie cookie = new Cookie(key, cookieParams.get(key));  
  45.             cookie.setMaxAge(maxAge);  
  46.             response.addCookie(cookie);  
  47.         }  
  48.     }  
  49.       
  50.     /** 
  51.      * 删除所有的cookies 
  52.      * @param request 
  53.      * @param response 
  54.      */  
  55.     public static final void removeAllCookies(HttpServletRequest request,HttpServletResponse response) {  
  56.         Cookie[] cookies = request.getCookies();  
  57.         if(cookies == null || cookies.length == 0)  
  58.             return;  
  59.         Map<String, String> cookiesMap = new HashMap<String, String>();  
  60.         for (Cookie cookie : cookies) {  
  61.             cookiesMap.put(cookie.getName(),"");  
  62.         }  
  63.         writeCookies(response, cookiesMap, 0);  
  64.     }  
  65.       
  66.     /** 
  67.      * 读取cookies 
  68.      *  
  69.      * @param request 
  70.      * @param cookieName 
  71.      * @return 
  72.      */  
  73.     public static final Cookie[] readCookies(HttpServletRequest request,String cookieName) {  
  74.         Cookie[] cookies = request.getCookies();  
  75.         if(cookies == null || cookies.length == 0)  
  76.             return null;  
  77.         if(StringUtils.isEmpty(cookieName))  
  78.             return cookies;  
  79.         for (int i = 0; i < cookies.length; i++) {  
  80.             if(cookies[i].getName().equals(cookieName))  
  81.                 return new Cookie[] {cookies[i]};  
  82.         }  
  83.         return null;  
  84.     }  
  85. }  

 

你可能感兴趣的:(java,Web,cookie)