From e7b3a5e891287b1291d2ac38f7c83d5d73bc7906 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期六, 08 十月 2022 08:49:01 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/helper/WebHelper.java |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 100 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/lf/server/helper/WebHelper.java b/src/main/java/com/lf/server/helper/WebHelper.java
index a49924e..d2b7f9f 100644
--- a/src/main/java/com/lf/server/helper/WebHelper.java
+++ b/src/main/java/com/lf/server/helper/WebHelper.java
@@ -1,10 +1,15 @@
 package com.lf.server.helper;
 
 import com.lf.server.entity.all.StaticData;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.io.IOException;
+import java.io.PrintWriter;
 import java.sql.Timestamp;
 import java.util.Calendar;
 import java.util.UUID;
@@ -126,7 +131,7 @@
      */
     public static void saveToken2Cookie(String token, HttpServletRequest request, HttpServletResponse response) {
         // 鍏堝垹闄�
-        deleteCookie(StaticData.TOKEN_COOKIE_KEY, request);
+        deleteAll(request, response);
 
         // 鍐嶄繚瀛�
         saveCookie(StaticData.TOKEN_COOKIE_KEY, token, response);
@@ -135,17 +140,17 @@
     /**
      * 淇濆瓨Cookie
      *
-     * @param cookieKey
+     * @param key
      * @param value
      * @param response
      */
-    public static void saveCookie(String cookieKey, String value, HttpServletResponse response) {
-        Cookie cookie = new Cookie(cookieKey, value);
+    public static void saveCookie(String key, String value, HttpServletResponse response) {
+        Cookie cookie = new Cookie(key, value);
         // 璁剧疆cookie澶辨晥鏃堕棿锛屽崟浣嶄负绉�
-        cookie.setMaxAge(240 * 60);
+        cookie.setMaxAge(4 * 60 * 60);
         cookie.setHttpOnly(false);
         cookie.setPath("/");
-        // cookie.setDomain("")
+        //cookie.setDomain("*")
 
         response.setHeader("P3P", "CP=CAO PSA OUR");
         response.addCookie(cookie);
@@ -157,16 +162,52 @@
      * @param cookieKey
      * @param request
      */
-    public static void deleteCookie(String cookieKey, HttpServletRequest request) {
+    public static void deleteCookie(String cookieKey, HttpServletRequest request, HttpServletResponse response) {
         Cookie[] cookies = request.getCookies();
         if (cookies != null && cookies.length > 0) {
             for (Cookie c : cookies) {
                 if (cookieKey.equalsIgnoreCase(c.getName())) {
                     c.setMaxAge(0);
-                    break;
+                    c.setPath("/");
+                    response.addCookie(c);
                 }
             }
         }
+    }
+
+    /**
+     * 鍒犻櫎鎵�鏈塁ookie
+     *
+     * @param request
+     * @param response
+     */
+    public static void deleteAll(HttpServletRequest request, HttpServletResponse response) {
+        Cookie[] cookies = request.getCookies();
+        if (cookies != null && cookies.length > 0) {
+            for (Cookie c : cookies) {
+                c.setMaxAge(0);
+                c.setPath("/");
+                response.addCookie(c);
+            }
+        }
+    }
+
+    /**
+     * 鏍规嵁閿幏鍙朇ookie鍊�
+     */
+    public static String getCookieByKey(String key,HttpServletRequest request) {
+        Cookie[] cookies = request.getCookies();
+        if (cookies == null || cookies.length == 0) {
+            return null;
+        }
+
+        for (Cookie c : cookies) {
+            if (key.equals(c.getName())) {
+                return c.getValue();
+            }
+        }
+
+        return null;
     }
 
     /**
@@ -191,4 +232,55 @@
 
         return token;
     }
+
+    /**
+     * 鑾峰彇Request
+     *
+     * @return
+     */
+    public static HttpServletRequest getRequest() {
+        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+
+        return servletRequestAttributes.getRequest();
+    }
+
+    /**
+     * 鑾峰彇Response
+     *
+     * @return
+     */
+    public static HttpServletResponse getResponse() {
+        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+
+        return servletRequestAttributes.getResponse();
+    }
+
+    /**
+     * 鑾峰彇Session
+     *
+     * @return
+     */
+    public static HttpSession getSession() {
+        return getRequest().getSession();
+    }
+
+    /**
+     * 杈撳嚭json鏁版嵁鍒板墠绔�
+     *
+     * @param response
+     * @param jsonPack
+     * @throws Exception
+     */
+    public static void write2Page(HttpServletResponse response, String jsonPack) throws IOException {
+        response.setContentType("application/json;charset=UTF-8");
+        response.setHeader("Cache-Control", "no-cache");
+        response.setHeader("Pragma", "No-cache");
+        response.setDateHeader("Expires", 0);
+
+        PrintWriter out = response.getWriter();
+        out.print(jsonPack);
+
+        out.flush();
+        out.close();
+    }
 }

--
Gitblit v1.9.3