会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132376个问题

可以访问到html页面,但是一提交就报错

image.png

@WebServlet("/fileUpload")
@MultipartConfig
public class FileUpLoad extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //设置请求的编码
        req.setCharacterEncoding("utf-8");
        //获取输入的信息
        String desc = req.getParameter("desc");
        //获取file类型文件
        Part part = req.getPart("file");
        //给文件改名
        String fileName = UUID.randomUUID().toString() + part.getSubmittedFileName().substring(part.getSubmittedFileName().lastIndexOf("."));
        //相对路径转换绝对路径
        ServletContext servletContext = this.getServletContext();
        String realPath = servletContext.getRealPath("image/" + fileName);
        //给出需要上传文件的绝对路径
        part.write(realPath);
        //响应输出
        resp.setContentType("text/html;charset=utf-8");
        PrintWriter printWriter = resp.getWriter();
        printWriter.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">");
        printWriter.println("<HTML>");
        printWriter.println("<HEAD><TITLE>A Servlet</TITLE></HEAD>");
        printWriter.println("<BODY>");
        printWriter.println("上传成功" + desc);
        printWriter.println("</BODY>");
        printWriter.println("</HTML>");
        printWriter.flush();
        printWriter.close();
    }
}


JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解(旧) 692楼
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解(旧) 693楼
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解(旧) 694楼
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解(旧) 695楼

ajaxPro.zip


老师,总是会报异常:

java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMappe

image.png


网上查了很多资料,我试了都没搞定。请老师帮忙看一下,谢谢!!!

JAVA 全系列/第五阶段:JavaWeb开发/Ajax技术详解(旧) 696楼
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解(旧) 698楼
JAVA 全系列/第五阶段:JavaWeb开发/XML技术(旧) 699楼

老师,我想追问一下下图的问题,如果还要自己在tomcat的项目文件夹中自己添加image/picture.jpg, 那为什么要在项目文件夹中创建image文件夹?我没在项目中创建image文件夹和图片,还是可以通过/download.do下载文件,如图二。


image.png

image.png

代码:

package com.bjsxt.servlet;

import jakarta.servlet.ServletContext;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;

public class DownloadFileServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        this.doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 获取ServletContext对象
        ServletContext servletContext = this.getServletContext();
        // 路径转换
        String realPath = servletContext.getRealPath("image/rickandmortybg.jpg");
        System.out.println(realPath);
        // 读文件
        File file = new File(realPath);
        System.out.println(file.getName());
        FileInputStream fis = new FileInputStream(file);
        byte[] buff = new byte[fis.available()];
        fis.read(buff);

        // 在响应中添加附加信息
        resp.addHeader("Content-Disposition", "attachment;filename=" + new String(file.getName().getBytes("utf-8"), "iso-8859-1"));

        OutputStream os = resp.getOutputStream();
        os.write(buff);
        os.flush();
        os.close();
    }
}


JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解(旧) 700楼
JAVA 全系列/第五阶段:JavaWeb开发/XML技术(旧) 702楼
JAVA 全系列/第五阶段:JavaWeb开发/XML技术(旧) 703楼
JAVA 全系列/第五阶段:JavaWeb开发/Servlet技术详解(旧) 705楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637