操作 Cookie 的Java工具类

来源:互联网 发布:java get set方法解释 编辑:程序博客网 时间:2024/05/18 01:09
  1. /**
  2. * cn.itcast.bbs.util.CookieUtil
  3. * 2014-5-26
  4. * Cookie操作工具类
  5. * gyy
  6. */ 
  7. package cn.itcast.bbs.util; 
  8.  
  9. import javax.servlet.http.Cookie; 
  10. import javax.servlet.http.HttpServletRequest; 
  11. import javax.servlet.http.HttpServletResponse;
  12.  
  13. public class CookieUtil { 
  14.  
  15.     private staticfinal int COOKIE_MAX_AGE =7 * 24 *3600
  16.  
  17.     public staticvoid removeCookie(HttpServletRequest request,
  18.             HttpServletResponse response, String name) { 
  19.         if (null == name) { 
  20.             return
  21.         } 
  22.         Cookie cookie = getCookie(request, name); 
  23.         if(null != cookie){ 
  24.             cookie.setPath("/"); 
  25.             cookie.setValue(""); 
  26.             cookie.setMaxAge(0); 
  27.             response.addCookie(cookie); 
  28.         } 
  29.     } 
  30.  
  31.     /**
  32.      * 根据Cookie名称得到Cookie对象,不存在该对象则返回Null
  33.      *
  34.      * @param request
  35.      * @param name
  36.      * @return
  37.      */ 
  38.     public static Cookie getCookie(HttpServletRequest request, String name) { 
  39.         Cookie[] cookies = request.getCookies(); 
  40.         if (null == cookies ||null == name || name.length() == 0) { 
  41.             return null
  42.         } 
  43.         Cookie cookie = null
  44.         for (Cookie c : cookies) { 
  45.             if (name.equals(c.getName())) { 
  46.                 cookie = c; 
  47.                 break
  48.             } 
  49.         } 
  50.         return cookie; 
  51.     } 
  52.  
  53.     /**
  54.      * 添加一条新的Cookie,默认7天过期时间(单位:秒)
  55.      *
  56.      * @param response
  57.      * @param name
  58.      * @param value
  59.      */ 
  60.     public staticvoid setCookie(HttpServletResponse response, String name, 
  61.             String value) { 
  62.         setCookie(response, name, value, COOKIE_MAX_AGE); 
  63.     } 
  64.  
  65.     /**
  66.      * 添加一条新的Cookie,可以指定过期时间(单位:秒)
  67.      *
  68.      * @param response
  69.      * @param name
  70.      * @param value
  71.      * @param maxValue
  72.      */ 
  73.     public staticvoid setCookie(HttpServletResponse response, String name, 
  74.             String value, int maxValue) { 
  75.         if (null == name) { 
  76.             return
  77.         } 
  78.         if (null == value) { 
  79.             value = ""
  80.         } 
  81.         Cookie cookie = new Cookie(name, value); 
  82.         cookie.setPath("/"); 
  83.         if (maxValue != 0) { 
  84.             cookie.setMaxAge(maxValue); 
  85.         } else
  86.             cookie.setMaxAge(COOKIE_MAX_AGE); 
  87.         } 
  88.         response.addCookie(cookie); 
  89.     } 
0 0