使用servlet实现表单页面向Tomcat提交文件(图片,音频,视频,PPT等)

    科技2026-03-20  8

    先写一个HTML的页面,来提交信息

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <base href="/servlet_mvn_jd2007/"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <!-- 要想获取到提交的文件一定要写 enctype="multipart/form-data",请求也使用post请求 &nbsp;是空格--> <form action="multipart.do" method="post" enctype="multipart/form-data"> 用户名:<input type="text" name="username"><br/> 密&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="password" name="password"><br/> 头&nbsp;&nbsp;&nbsp;&nbsp;像:<input type="file" name="icon"><br/> <input type="submit" value="提交"> </form> </body> </html>

    使用servlet获取提交的信息,并将文件提交到Tomcat的文件路径下

    package workform_Servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.Collection; import javax.servlet.ServletException; import javax.servlet.annotation.MultipartConfig; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; @WebServlet("/multipart.do") //想要能将文件提交到对应的目录下需要使用 @MultipartConfig @MultipartConfig public class MultipartServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //设置编码格式,防止乱码 resp.setCharacterEncoding("UTF-8"); req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;charset=UTF-8"); //根据参数名获取参数 String username = req.getParameter("username"); String password = req.getParameter("password"); System.out.println("username:"+username); System.out.println("password:"+password); //文件需要用Part来接收 Part iconPart = req.getPart("icon"); //把文件写到Tomcat的webapps下面 iconPart.write("E:\\jidi\\biancheng\\Tomcat\\apache-tomcat-8.5.58\\webapps\\servlet_mvn_jd2007\\myfile\\"+iconPart.getSubmittedFileName()); PrintWriter pw = resp.getWriter(); //在页面上显示一下获取到的信息 pw.println("username:"+username); pw.println("npassword:"+password); pw.println("文件名:"+iconPart.getSubmittedFileName()); pw.flush(); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }

     

    Processed: 0.015, SQL: 10