`
cucaracha
  • 浏览: 140268 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A8f3fa2f-18ce-3862-897a-5d2209197c90
Java NIO.2
浏览量:87280
7a076ba7-8ec8-3241-aa3c-67bb2f7856a2
Java EE 7 简明教...
浏览量:36316
社区版块
存档分类
最新评论

[Java EE 7] Servlet 处理 multipart 请求

阅读更多
可以在 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/
0
0
分享到:
评论

相关推荐

    java 页面上有ENCTYPE="multipart/form-data" 时action方法或者控制层用request.getParameter()获取不到值的方法 ?

    自Java EE 7起,`javax.servlet.http.Part`接口提供了一种处理`multipart/form-data`请求的方式。你可以通过`HttpServletRequest`的`getPart()`或`getParts()`方法获取到`Part`对象。 ```java @POST @Path("/...

    Java Servlet

    Java Servlet是Java编程语言中用于扩展服务器功能的接口和API,它是Java EE(企业版)平台的核心组成部分,主要用于处理Web应用程序中的HTTP请求。本篇将深入探讨Java Servlet的基础概念、核心组件、工作原理以及...

    com.oreilly.servlet

    Servlet API是Java EE(Enterprise Edition)的一部分,提供了与Web服务器交互的标准接口。开发者可以使用Servlet来处理HTTP请求,如GET、POST等,同时还可以创建动态网页内容。在`cos.jar`中,可能包含以下关键知识...

    java上传文件(servlet3.0)

    综上所述,Servlet 3.0简化了Java Web中文件上传的实现,通过`Part` API,我们可以方便地处理Multipart请求,实现安全、高效的文件上传功能。在实际应用中,结合最佳实践和安全策略,可以为用户提供更好的服务。

    java EE复习重点

    - **Java EE 运行流程**:Java EE 应用通常由一系列 Web 组件和服务组成,包括 Servlet、JSP 页面、EJB 等。运行流程主要包括应用程序服务器启动、加载配置文件(如 web.xml)、初始化组件、处理 HTTP 请求等步骤。 ...

    用java(servlet)写的购物网站项目源码

    首先,Java Servlet是Java EE平台的一部分,用于扩展服务器的功能,特别是处理HTTP请求。在这个项目中,Servlet是核心组件,负责接收前端用户发送的HTTP请求,进行业务逻辑处理,然后返回响应数据。 1. **Servlet...

    基于Java EE的文件批量上传的设计与实现

    2. **Multipart解析**:Java EE中,通常使用Apache Commons FileUpload库来处理多部分(multipart/form-data)的HTTP请求,这是上传文件的标准格式。该库能解析请求中的每个部分,包括文件内容。 3. **文件存储策略...

    Java servlet 和 swf上传超大文件源码

    在Java Servlet中,我们通常会使用`Part`接口来处理文件上传,这是Java EE 7引入的新特性。以下是一个简单的步骤概述: 1. **设置最大上传大小**:在`web.xml`配置文件中,我们需要设置`multipart-config`元素来...

    java 多文件上传下载

    这个主题涉及到几个关键知识点,包括Servlet、Multipart请求解析、文件处理以及安全性。以下是对这些概念的详细解释: 1. **Servlet**: Servlet是Java EE中用于扩展服务器功能的Java类。在文件上传场景中,Servlet...

    上传文件代码及jar包.zip_allowk2t_java_lionq5n_servlet_上传文件

    总的来说,这个示例涵盖了使用Java Servlet进行文件上传的基础步骤,包括处理POST请求、解析multipart请求、保存文件到服务器以及部署到Servlet容器中。在实际应用中,需要根据项目需求进行相应的调整和完善。

    servlet-3_1-final(中文版).doc

    在Java EE(现在称为Jakarta EE)框架中,Servlet扮演着核心角色,处理HTTP请求并生成响应。Servlet 3.1是Java Servlet规范的一个重要里程碑,引入了许多新特性和改进,包括异步处理、注解配置、微容器支持等。 1. ...

    servlet-api 集合

    Servlet-API是Java Web开发中的核心组件,主要用于处理HTTP请求和响应。这个集合包含了从2.2版本到3.0版本的Servlet-API规范的实现,这些版本的演变反映了Web应用程序开发技术的发展历程。以下是对各版本Servlet-API...

    Java图片上传功能源代码

    在处理文件上传时,我们需要使用`HttpServlet`和`Part`接口,这是Java EE 7引入的用于处理multipart/form-data类型请求的特性。 1. **创建HTML表单** 文件上传的第一步是创建一个HTML表单,允许用户选择要上传的...

    java开发的图片上传工具

    Java中,Apache Commons FileUpload库或Java EE 3.0及以上版本的Servlet API提供了处理Multipart请求的API,用于解析上传文件。 3. **文件临时存储**: 在接收到文件后,系统需要一个临时存储位置来保存上传的图片...

    servlet-2.5-mrel-spec.rar

    8. **Multipart请求处理**:Servlet 2.5引入了`Part`接口,支持处理HTTP多部分请求,方便上传文件。 9. **注解支持**:Servlet 2.5开始支持注解(Annotation),开发者可以直接在Servlet、Filter和Listener类上使用...

    Servlet API

    10. **Multipart请求处理**:Servlet 3.0引入了对多部分请求(如文件上传)的内置支持,但在Servlet 2.5中,需要依赖第三方库如Apache Commons FileUpload来处理此类请求。 11. **异步处理**:Servlet 3.0开始支持...

    servlet3.0-demo

    Servlet 3.0是Java EE 6规范的一部分,它带来了许多增强的功能,使得Web应用程序的开发更为便捷和灵活。在这个名为“servlet3.0-demo”的项目中,我们重点探讨的是如何利用Servlet 3.0的新特性进行文件上传操作,...

    Servlet 3.0新特性——文件上传接口

    3. **MultipartConfig注解**:为了处理multipart/form-data类型的请求,Servlet 3.0引入了`@MultipartConfig`注解。通过在Servlet类上添加此注解,服务器会自动解析上传的文件,无需手动配置解析器。注解还可以包含...

Global site tag (gtag.js) - Google Analytics