@WebServlet("/user-import.action") public class SystemUserImportServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public SystemUserImportServlet() { super(); } private String getFilename(Part p) { String fname = null; // 返回part对象文件部分的content-disposition String header = p.getHeader("Content-disposition"); System.out.println("Header=" + header); // 取子串,返回文件名 fname = header.substring(header.lastIndexOf("=") + 2, header.length() - 1); fname.substring(fname.lastIndexOf("\\") + 1, fname.length()); System.out.println("fname=" + fname); return fname; } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.getRequestDispatcher(SystemConstant.view("/user/import")).forward(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;charset=UTF-8"); // 当前工程的路径 String path = this.getServletContext().getRealPath("/"); System.out.println("path=" + path); String number = req.getParameter("number"); javax.servlet.http.Part p = req.getPart("fileName"); String message = ""; // getFilename(p); if (p.getSize() > 1024 * 1024)// 上传文件的大小不能超过1MB { p.delete(); message = "文件大小超过1MB,不能上传!"; } else { // 确定文件上传的位置 path = path + "\\uploadDiretory\\" + number; java.io.File f = new File(path); if (!f.exists()) { // 创建文件夹(目录) f.mkdir(); } System.out.println("path=" + path); // 准备实现上传 // 得到文件名 String fname = getFilename(p); p.write(path + "\\" + fname);//将文件写如目的地 message = "文件上传成功!"; } req.setAttribute("message", message); req.getRequestDispatcher(SystemConstant.view("/user/import")).forward(req, resp); } }

2023-04-16by@2421252762-_A4v7&@ChatGPT.Model: gpt-3.5
2421252762-_A4v7

@WebServlet("/user-import.action")
public class SystemUserImportServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
 * @see HttpServlet#HttpServlet()
 */
public SystemUserImportServlet() {
    super();
}

private String getFilename(Part p) {
    String fname = null;
    // 返回part对象文件部分的content-disposition
    String header = p.getHeader("Content-disposition");
    System.out.println("Header=" + header);
    // 取子串,返回文件名
    fname = header.substring(header.lastIndexOf("=") + 2, header.length() - 1);
    fname.substring(fname.lastIndexOf("\\") + 1, fname.length());
    System.out.println("fname=" + fname);
    return fname;
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    req.getRequestDispatcher(SystemConstant.view("/user/import")).forward(req, resp);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    req.setCharacterEncoding("UTF-8");
    resp.setContentType("text/html;charset=UTF-8");
    // 当前工程的路径
    String path = this.getServletContext().getRealPath("/");
    System.out.println("path=" + path);
    String number = req.getParameter("number");
    javax.servlet.http.Part p = req.getPart("fileName");
    String message = "";
    // getFilename(p);
    if (p.getSize() > 1024 * 1024)// 上传文件的大小不能超过1MB
    {
        p.delete();
        message = "文件大小超过1MB,不能上传!";
    } else {
        // 确定文件上传的位置
        path = path + "\\uploadDiretory\\" + number;
        java.io.File f = new File(path);
        if (!f.exists()) {
            // 创建文件夹(目录)
            f.mkdir();
        }
        System.out.println("path=" + path);
        // 准备实现上传
        // 得到文件名
        String fname = getFilename(p);
        p.write(path + "\\" + fname);//将文件写如目的地
        message = "文件上传成功!";
    }
    req.setAttribute("message", message);
    req.getRequestDispatcher(SystemConstant.view("/user/import")).forward(req, resp);
}

}

Avatar
Avatar

这是一个Java Servlet,用于处理用户导入操作。当用户访问/user-import.action路径时,会调用doGet方法,显示用户导入页面。当用户提交导入表单时,会调用doPost方法,进行文件上传操作。

在doPost方法中,首先获取上传的文件Part对象,然后判断文件大小是否超过1MB。如果超过,则删除文件并返回错误