管道基础大数据平台系统开发-【后端】-Server
13693261870
2024-03-25 b6b0cb226fcf184525ee7b36af3a09471e9c0057
src/main/java/com/lf/server/helper/WebHelper.java
@@ -16,9 +16,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.*;
import java.net.URLEncoder;
import java.sql.Timestamp;
import java.util.*;
@@ -254,21 +252,33 @@
    }
    /**
     * 输出json数据到前端
     * 输出str至前端
     */
    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");
        response.setDateHeader("Expires", 0);
    public static boolean writeStr2Page(HttpServletResponse res, String str) {
        try {
            res.setContentType("application/json;charset=UTF-8");
            res.setHeader("Cache-Control", "no-cache");
            res.setHeader("Pragma", "No-cache");
            res.setDateHeader("Expires", 0);
        PrintWriter out = response.getWriter();
        out.print(jsonPack);
            PrintWriter out = res.getWriter();
            out.print(str);
        out.flush();
        out.close();
            out.flush();
            out.close();
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
        }
        return false;
    }
    /**
     * 输出json至前端
     */
    public static void writeJson2Page(HttpServletResponse res, String str) {
        String json = JSON.toJSONString(new ResponseMsg<>(HttpStatus.ERROR, str));
        writeStr2Page(res, json);
    }
    /**
@@ -282,11 +292,7 @@
     * 写响应信息
     */
    public static void writeInfo(HttpStatus status, String info, HttpServletResponse res) {
        try {
            WebHelper.write2Page(res, WebHelper.getErrJson(status, info));
        } catch (Exception e) {
            //
        }
        WebHelper.writeStr2Page(res, WebHelper.getErrJson(status, info));
    }
    /**
@@ -298,20 +304,28 @@
    /**
     * 下载文件
     */
    public static void download(String file, String fileName, HttpServletResponse res) throws Exception {
        download(file, fileName, false, res);
    }
    /**
     * 下载文件
     *
     * @param file     文件
     * @param fileName 文件名
     * @param res      响应
     * @throws Exception 异常
     */
    public static void download(String file, String fileName, HttpServletResponse res) throws Exception {
    public static void download(String file, String fileName, boolean inline, HttpServletResponse res) throws Exception {
        if (StringHelper.isEmpty(fileName)) {
            fileName = StringHelper.YMDHMS2_FORMAT.format(new Date());
        }
        fileName = URLEncoder.encode(fileName, "UTF-8").replace("+", "%20");
        String dispose = inline ? "inline" : "attachment";
        // 设置响应头中文件的下载方式为附件方式,以及设置文件名
        res.setHeader("Content-Disposition", "attachment; filename*=UTF-8''" + fileName);
        res.setHeader("Content-Disposition", dispose + "; filename*=UTF-8''" + fileName);
        // 设置响应头的编码格式为 UTF-8
        res.setCharacterEncoding("UTF-8");
@@ -334,8 +348,8 @@
        }
        // 关闭资源
        outputStream.close();
        fileInputStream.close();
        outputStream.close();
    }
    /**
@@ -352,6 +366,30 @@
    }
    /**
     * 执行命令
     *
     * @param cmd 命令
     */
    public static String exec2(String cmd) {
        try {
            StringBuilder sb = new StringBuilder();
            Process process = Runtime.getRuntime().exec(cmd);
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                sb.append(line).append("\n");
            }
            reader.close();
            return sb.toString();
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
            return null;
        }
    }
    /**
     * 获取请求的参数值
     *
     * @param req 请求