操作 Cookie 的Java工具类

jopen 11年前

import javax.servlet.http.Cookie;  import javax.servlet.http.HttpServletRequest;  import javax.servlet.http.HttpServletResponse;    /**   * @Package: com.xxxxx.common.util   * @Title: Cookie.java Create on 2012-1-25 下午5:23:52    * @Description:   *     *  Cookie工具类,封装Cookie常用操作   *     * @author carrkevin   * @version v 0.1   */  public class CookieHelper {        /**       * 设置cookie有效期,根据需要自定义[本系统设置为30天]       */      private final static int COOKIE_MAX_AGE = 1000 * 60 * 60 * 24 * 30;        /**       *       * @desc 删除指定Cookie       * @param response       * @param cookie       */      public static void removeCookie(HttpServletResponse response, Cookie cookie)      {              if (cookie != null)              {                      cookie.setPath("/");                      cookie.setValue("");                      cookie.setMaxAge(0);                      response.addCookie(cookie);              }      }        /**       *       * @desc 删除指定Cookie       * @param response       * @param cookie       * @param domain       */      public static void removeCookie(HttpServletResponse response, Cookie cookie,String domain)      {              if (cookie != null)              {                      cookie.setPath("/");                      cookie.setValue("");                      cookie.setMaxAge(0);                      cookie.setDomain(domain);                      response.addCookie(cookie);              }      }        /**       *       * @desc 根据Cookie名称得到Cookie的值,没有返回Null       * @param request       * @param name       * @return       */      public static String getCookieValue(HttpServletRequest request, String name)      {              Cookie cookie = getCookie(request, name);              if (cookie != null)              {                      return cookie.getValue();              }              else              {                      return null;              }      }        /**       *       * @desc 根据Cookie名称得到Cookie对象,不存在该对象则返回Null       * @param request       * @param name       */      public static Cookie getCookie(HttpServletRequest request, String name)      {              Cookie cookies[] = request.getCookies();              if (cookies == null || name == null || name.length() == 0)                      return null;              Cookie cookie = null;              for (int i = 0; i < cookies.length; i++)              {                      if (!cookies[i].getName().equals(name))                              continue;                      cookie = cookies[i];                      if (request.getServerName().equals(cookie.getDomain()))                              break;              }                return cookie;      }        /**       *       * @desc 添加一条新的Cookie信息,默认有效时间为一个月       * @param response       * @param name       * @param value       */      public static void setCookie(HttpServletResponse response, String name, String value)      {              setCookie(response, name, value, COOKIE_MAX_AGE);      }        /**       *       * @desc 添加一条新的Cookie信息,可以设置其最长有效时间(单位:秒)       * @param response       * @param name       * @param value       * @param maxAge       */      public static void setCookie(HttpServletResponse response, String name, String value, int maxAge)      {              if (value == null)                      value = "";              Cookie cookie = new Cookie(name, value);              if(maxAge!=0){               cookie.setMaxAge(maxAge);              }else{               cookie.setMaxAge(COOKIE_MAX_AGE);              }              cookie.setPath("/");              response.addCookie(cookie);      }  }