Cookie操作Java工具類

jopen 10年前發布 | 19K 次閱讀 Java工具類 Java開發

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**

  • @author HuifengWang 操作cookie的工具類
  • */ public class CookieUtil { /**

    • 根據cookie的名稱獲取cookie
    • @param request
    • @param name
    • @return */ public static Cookie getCookie(HttpServletRequest request, String name) { Cookie cookies[] = request.getCookies(); if (cookies == null || name == null || name.length() == 0) {

       return null;
      

      } for (int i = 0; i < cookies.length; i++) {

       if (name.equals(cookies[i].getName())){
               //&& request.getServerName().equals(cookies[i].getDomain())) {
           return cookies[i];
       }
      

      } return null; }

      public static String getCookieValue(HttpServletRequest request, String name){ Cookie ck = getCookie(request, name); if(ck!=null){

       return PwdCrypt.decrypt(ck.getValue());
      

      }else{

       return null;
      

      } }

      /**

    • 刪除cookie
    • @param request
    • @param response
    • @param cookie */ public static void deleteCookie(HttpServletRequest request,

       HttpServletResponse response, Cookie cookie) {
      

      if (cookie != null) {

       cookie.setPath(getPath(request));
       cookie.setValue("");
       cookie.setMaxAge(0);
       response.addCookie(cookie);
      

      } }

      /**

    • 設置cookie
    • @param request
    • @param response
    • @param name
    • @param value
    • 如果不設置時間,默認永久 */ public static void setCookie(HttpServletRequest request,

       HttpServletResponse response, String name, String value) {
      

      setCookie(request, response, name, value, 0x278d00); }

      /**

    • @param request
    • @param response
    • @param name
    • @param value
    • @param maxAge
    • 設置cookie,設定時間 */ public static void setCookie(HttpServletRequest request,

       HttpServletResponse response, String name, String value, int maxAge) {
      

      String cookieValue = PwdCrypt.encrypt(value); Cookie cookie = new Cookie(name, value == null ? "" : cookieValue.replaceAll("\r\n", "")); cookie.setMaxAge(maxAge); cookie.setPath(getPath(request)); response.addCookie(cookie); }

      private static String getPath(HttpServletRequest request) { String path = request.getContextPath(); return (path == null || path.length() == 0) ? "/" : path; } public static void main(String[] args) {

      } }</pre>

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