管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-10-08 e7b3a5e891287b1291d2ac38f7c83d5d73bc7906
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, response);
        deleteAll(request, response);
        // 再保存
        saveCookie(StaticData.TOKEN_COOKIE_KEY, token, response);
@@ -171,6 +176,41 @@
    }
    /**
     * 删除所有Cookie
     *
     * @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);
            }
        }
    }
    /**
     * 根据键获取Cookie值
     */
    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;
    }
    /**
     * 获取Token
     *
     * @param request
@@ -192,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();
    }
}