From efdb99f8cecc4afb592afad79c761081d5d5cf22 Mon Sep 17 00:00:00 2001
From: lee <4766465@qq.com>
Date: Wed, 18 Dec 2024 13:27:00 +0800
Subject: [PATCH] init

---
 xxl-job/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java |   98 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 98 insertions(+), 0 deletions(-)

diff --git a/xxl-job/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java b/xxl-job/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java
new file mode 100644
index 0000000..a1523aa
--- /dev/null
+++ b/xxl-job/xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java
@@ -0,0 +1,98 @@
+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 = Integer.MAX_VALUE;
+	// 保存路径,根路径
+	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);
+		}
+	}
+
+}
\ No newline at end of file

--
Gitblit v1.9.3