可以在 servlet 上添加 @MultipartConfig 用于处理 multipart/form-data 类型的数据。然后调用 HttpServletRequest.getParts 和 .getPart 来获取数据:
@WebServlet(urlPatterns = {"/FileUploadServlet"})
@MultipartConfig(location="/tmp")
public class FileUploadServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
for (Part part : request.getParts()) {
part.write("myFile");
}
}
}
在上面这段代码中:
- @MultipartConfig 表示发送到这里的 POST 请求可以处理 multipart/form-data 数据。
- location 属性用于指定文件保存的路径。
- getParts 方法用于取得 request 中文件各个部分的内容集合。
- part.write 方法用于将自身包含的内容写入文件。
-
Servlet 3.1 增加了新的方法 Part.getSubmittedFileName,用于取得客户端上传的文件名。
用于提交数据的 JSP 代码样例如下:
<form action="FileUploadServlet"
enctype="multipart/form-data"
method="POST">
<input type="file" name="myFile"><br>
<input type="Submit" value="Upload File"><br>
</form>
上面代码中,提交到 FileUploadServlet Servlet 的 form 使用 POST 请求,并且用 multipart/form-data 进行数据编码。
来源文章:
http://www.aptusource.org/2014/04/java-ee-7-servlet-handling-multipart-requests/
分享到:
相关推荐
自Java EE 7起,`javax.servlet.http.Part`接口提供了一种处理`multipart/form-data`请求的方式。你可以通过`HttpServletRequest`的`getPart()`或`getParts()`方法获取到`Part`对象。 ```java @POST @Path("/...
Java Servlet是Java编程语言中用于扩展服务器功能的接口和API,它是Java EE(企业版)平台的核心组成部分,主要用于处理Web应用程序中的HTTP请求。本篇将深入探讨Java Servlet的基础概念、核心组件、工作原理以及...
Servlet API是Java EE(Enterprise Edition)的一部分,提供了与Web服务器交互的标准接口。开发者可以使用Servlet来处理HTTP请求,如GET、POST等,同时还可以创建动态网页内容。在`cos.jar`中,可能包含以下关键知识...
综上所述,Servlet 3.0简化了Java Web中文件上传的实现,通过`Part` API,我们可以方便地处理Multipart请求,实现安全、高效的文件上传功能。在实际应用中,结合最佳实践和安全策略,可以为用户提供更好的服务。
- **Java EE 运行流程**:Java EE 应用通常由一系列 Web 组件和服务组成,包括 Servlet、JSP 页面、EJB 等。运行流程主要包括应用程序服务器启动、加载配置文件(如 web.xml)、初始化组件、处理 HTTP 请求等步骤。 ...
首先,Java Servlet是Java EE平台的一部分,用于扩展服务器的功能,特别是处理HTTP请求。在这个项目中,Servlet是核心组件,负责接收前端用户发送的HTTP请求,进行业务逻辑处理,然后返回响应数据。 1. **Servlet...
2. **Multipart解析**:Java EE中,通常使用Apache Commons FileUpload库来处理多部分(multipart/form-data)的HTTP请求,这是上传文件的标准格式。该库能解析请求中的每个部分,包括文件内容。 3. **文件存储策略...
在Java Servlet中,我们通常会使用`Part`接口来处理文件上传,这是Java EE 7引入的新特性。以下是一个简单的步骤概述: 1. **设置最大上传大小**:在`web.xml`配置文件中,我们需要设置`multipart-config`元素来...
Multipart请求处理也是Java EE7的一个新特性,它支持文件上传和下载,这在Web应用开发中非常常见。开发者可以更加方便地处理包含不同类型数据的请求。 上述各点详细说明了Java EE7的核心新特性,它们共同构成了一个...
这个主题涉及到几个关键知识点,包括Servlet、Multipart请求解析、文件处理以及安全性。以下是对这些概念的详细解释: 1. **Servlet**: Servlet是Java EE中用于扩展服务器功能的Java类。在文件上传场景中,Servlet...
总的来说,这个示例涵盖了使用Java Servlet进行文件上传的基础步骤,包括处理POST请求、解析multipart请求、保存文件到服务器以及部署到Servlet容器中。在实际应用中,需要根据项目需求进行相应的调整和完善。
在Java中,我们可以使用`java.servlet.Part`接口来处理上传的文件,它是Servlet 3.0引入的用于处理multipart/form-data请求的API。 具体到这个压缩包中的“servlet文件上传jar包”,可能包含了一个预封装好的...
在Java EE(现在称为Jakarta EE)框架中,Servlet扮演着核心角色,处理HTTP请求并生成响应。Servlet 3.1是Java Servlet规范的一个重要里程碑,引入了许多新特性和改进,包括异步处理、注解配置、微容器支持等。 1. ...
Servlet-API是Java Web开发中的核心组件,主要用于处理HTTP请求和响应。这个集合包含了从2.2版本到3.0版本的Servlet-API规范的实现,这些版本的演变反映了Web应用程序开发技术的发展历程。以下是对各版本Servlet-API...
在处理文件上传时,我们需要使用`HttpServlet`和`Part`接口,这是Java EE 7引入的用于处理multipart/form-data类型请求的特性。 1. **创建HTML表单** 文件上传的第一步是创建一个HTML表单,允许用户选择要上传的...
Java中,Apache Commons FileUpload库或Java EE 3.0及以上版本的Servlet API提供了处理Multipart请求的API,用于解析上传文件。 3. **文件临时存储**: 在接收到文件后,系统需要一个临时存储位置来保存上传的图片...
8. **Multipart请求处理**:Servlet 2.5引入了`Part`接口,支持处理HTTP多部分请求,方便上传文件。 9. **注解支持**:Servlet 2.5开始支持注解(Annotation),开发者可以直接在Servlet、Filter和Listener类上使用...
10. **Multipart请求处理**:Servlet 3.0引入了对多部分请求(如文件上传)的内置支持,但在Servlet 2.5中,需要依赖第三方库如Apache Commons FileUpload来处理此类请求。 11. **异步处理**:Servlet 3.0开始支持...
Servlet 3.0是Java EE 6规范的一部分,它带来了许多增强的功能,使得Web应用程序的开发更为便捷和灵活。在这个名为“servlet3.0-demo”的项目中,我们重点探讨的是如何利用Servlet 3.0的新特性进行文件上传操作,...