操作 Cookie 的Java工具類

jopen 11年前發布 | 45K 次閱讀 Cookie Java開發

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);
      
      } }</pre>
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!