content: package com.xxl.job.admin.core.util;
  
  import javax.servlet.http.Cookie;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  
  /**
   * Cookie.Util
   *
   * @author xuxueli 2015-12-12 18:01:06
   */
  public class CookieUtil {
  
  	// 默认缓存时间,单位/秒, 2H
  	private static final int COOKIE_MAX_AGE = 60 * 60 * 2;
  	// 保存路径,根路径
  	private static final String COOKIE_PATH = "/";
  	
  	/**
  	 * 保存
  	 *
  	 * @param response
  	 * @param key
  	 * @param value
  	 * @param ifRemember 
  	 */
  	public static void set(HttpServletResponse response, String key, String value, boolean ifRemember) {
  		int age = ifRemember?COOKIE_MAX_AGE:-1;
  		set(response, key, value, null, COOKIE_PATH, age, true);
  	}
  
  	/**
  	 * 保存
  	 *
  	 * @param response
  	 * @param key
  	 * @param value
  	 * @param maxAge
  	 */
  	private static void set(HttpServletResponse response, String key, String value, String domain, String path, int maxAge, boolean isHttpOnly) {
  		Cookie cookie = new Cookie(key, value);
  		if (domain != null) {
  			cookie.setDomain(domain);
  		}
  		cookie.setPath(path);
  		cookie.setMaxAge(maxAge);
  		cookie.setHttpOnly(isHttpOnly);
  		response.addCookie(cookie);
  	}
  	
  	/**
  	 * 查询value
  	 *
  	 * @param request
  	 * @param key
  	 * @return
  	 */
  	public static String getValue(HttpServletRequest request, String key) {
  		Cookie cookie = get(request, key);
  		if (cookie != null) {
  			return cookie.getValue();
  		}
  		return null;
  	}
  
  	/**
  	 * 查询Cookie
  	 *
  	 * @param request
  	 * @param key
  	 */
  	private static Cookie get(HttpServletRequest request, String key) {
  		Cookie[] arr_cookie = request.getCookies();
  		if (arr_cookie != null && arr_cookie.length > 0) {
  			for (Cookie cookie : arr_cookie) {
  				if (cookie.getName().equals(key)) {
  					return cookie;
  				}
  			}
  		}
  		return null;
  	}
  	
  	/**
  	 * 删除Cookie
  	 *
  	 * @param request
  	 * @param response
  	 * @param key
  	 */
  	public static void remove(HttpServletRequest request, HttpServletResponse response, String key) {
  		Cookie cookie = get(request, key);
  		if (cookie != null) {
  			set(response, key, "", null, COOKIE_PATH, 0, true);
  		}
  	}
  
  }