管道基础大数据平台系统开发-【后端】-Server
13693261870
2022-10-18 3b10165395a56f2da479a757e1d751a65079279d
src/main/java/com/lf/server/helper/WebHelper.java
@@ -1,9 +1,11 @@
package com.lf.server.helper;
import com.lf.server.entity.all.SettingData;
import com.lf.server.entity.all.StaticData;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.ServletContext;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -32,9 +34,6 @@
    /**
     * 获取用户ip
     *
     * @param request
     * @return
     */
    public static String getIpAddress(HttpServletRequest request) {
        String ip = request.getHeader("X-Forwarded-For");
@@ -87,9 +86,6 @@
    /**
     * 获取当前时间指定分钟数后的Timestamp
     *
     * @param min 分钟数
     * @return
     */
    public static Timestamp getTimestamp(int min) {
        Calendar now = Calendar.getInstance();
@@ -100,9 +96,6 @@
    /**
     * 从Cookie中获取token
     *
     * @param request
     * @return
     */
    public static String getTokenFromCookie(HttpServletRequest request) {
        Cookie[] cookies = request.getCookies();
@@ -124,14 +117,10 @@
    /**
     * 向Cookie中添加token
     *
     * @param token
     * @param request
     * @param response
     */
    public static void saveToken2Cookie(String token, HttpServletRequest request, HttpServletResponse response) {
        // 先删除
        deleteAll(request, response);
        deleteCookies(request, response);
        // 再保存
        saveCookie(StaticData.TOKEN_COOKIE_KEY, token, response);
@@ -139,15 +128,11 @@
    /**
     * 保存Cookie
     *
     * @param key
     * @param value
     * @param response
     */
    public static void saveCookie(String key, String value, HttpServletResponse response) {
        Cookie cookie = new Cookie(key, value);
        // 设置cookie失效时间,单位为秒
        cookie.setMaxAge(4 * 60 * 60);
        cookie.setMaxAge(SettingData.COOKIE_MAX_AGE);
        cookie.setHttpOnly(false);
        cookie.setPath("/");
        //cookie.setDomain("*")
@@ -158,9 +143,6 @@
    /**
     * 删除cookie中的值
     *
     * @param cookieKey
     * @param request
     */
    public static void deleteCookie(String cookieKey, HttpServletRequest request, HttpServletResponse response) {
        Cookie[] cookies = request.getCookies();
@@ -177,11 +159,8 @@
    /**
     * 删除所有Cookie
     *
     * @param request
     * @param response
     */
    public static void deleteAll(HttpServletRequest request, HttpServletResponse response) {
    public static void deleteCookies(HttpServletRequest request, HttpServletResponse response) {
        Cookie[] cookies = request.getCookies();
        if (cookies != null && cookies.length > 0) {
            for (Cookie c : cookies) {
@@ -195,7 +174,7 @@
    /**
     * 根据键获取Cookie值
     */
    public static String getCookieByKey(String key,HttpServletRequest request) {
    public static String getCookieByKey(String key, HttpServletRequest request) {
        Cookie[] cookies = request.getCookies();
        if (cookies == null || cookies.length == 0) {
            return null;
@@ -212,9 +191,6 @@
    /**
     * 获取Token
     *
     * @param request
     * @return
     */
    public static String getToken(HttpServletRequest request) {
        // 1.从url参数中,获取token
@@ -235,8 +211,6 @@
    /**
     * 获取Request
     *
     * @return
     */
    public static HttpServletRequest getRequest() {
        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
@@ -246,8 +220,6 @@
    /**
     * 获取Response
     *
     * @return
     */
    public static HttpServletResponse getResponse() {
        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
@@ -257,21 +229,25 @@
    /**
     * 获取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 {
    public static String getRealPath(String path) {
        HttpServletRequest req = getRequest();
        ServletContext ctx = req.getSession().getServletContext();
        return ctx.getRealPath("/" + path);
    }
    /**
     * 输出json数据到前端
     */
    public static boolean 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");
@@ -282,5 +258,7 @@
        out.flush();
        out.close();
        return false;
    }
}