📜  Servlet – 上传文件

📅  最后修改于: 2022-05-13 01:54:19.464000             🧑  作者: Mango

Servlet – 上传文件

Servlet 是在支持Java的 Web 服务器或应用程序服务器上运行的 Java 程序。它们用于处理从网络服务器获得的请求,处理请求,产生响应,然后将响应发送回网络服务器。

现在让我们在本节中学习如何将文件上传到服务器。在 HTML 文件中,上传文件到服务器时必须发布方法,并且 enctype 必须是 multipart/form-data。

创建文件上传表单

  • 下面的 HTML 代码创建了一个上传者表单。以下是一些需要记住的关键因素:
  • 表单方法应设置为 POST,不应使用 GET 方法。
  • 应该使用 multipart/form-data enctype 属性。
  • 将表单操作属性设置为一个 servlet 文件,该文件将处理后端服务器上的文件上传。要上传文件,以下示例使用 UploadServlet servlet。
  • 要上传单个文件,请使用带有 type=”file” 属性的单个 元素。在 name 属性中包含几个具有不同名称的输入标签,以允许上传各种文件。它们中的每一个在浏览器中都有一个与之关联的浏览按钮。

Servlet - 创建文件上传表单

执行:

第 1 步:我们将在 Eclipse 中创建一个动态 Web 项目,项目结构如下图所示。

A.文件:index.html

HTML
 
 
  Select File:
   
   


Java
// Java Program to Illustrate File Uploading 
// Via Servlets
 
// Importing required classes
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import com.oreilly.servlet.MultipartRequest;
 
// Class
// Extending HttpServlet class
public class GfgFileUpload extends HttpServlet {
 
    // Method
    // To handle request response mechanism
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
 
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
 
        MultipartRequest m = new MultipartRequest(request, "C:\\temp");
 
        out.print("File uploaded successfully");
    }
}


XML



   GfgFileUpload
   GfgFileUpload

 

   GfgFileUpload
   /GoGfg



B.文件:GfgFileUpload。Java

例子:

Java

// Java Program to Illustrate File Uploading 
// Via Servlets
 
// Importing required classes
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import com.oreilly.servlet.MultipartRequest;
 
// Class
// Extending HttpServlet class
public class GfgFileUpload extends HttpServlet {
 
    // Method
    // To handle request response mechanism
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
 
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
 
        MultipartRequest m = new MultipartRequest(request, "C:\\temp");
 
        out.print("File uploaded successfully");
    }
}

C.文件:web.xml

XML




   GfgFileUpload
   GfgFileUpload

 

   GfgFileUpload
   /GoGfg


输出:

第二步:点击上传按钮后,文件将上传到 C:\\temp 位置