当前位置: 首页 > 面试题库 >

如何在Java Servlet中处理多部分/表单数据POST请求?

锺离正祥
2023-03-14
问题内容

我在用Java应用程序服务器处理multipart / form-data请求时非常困难。从我发现的情况来看,servlet
3.0规范提供了诸如HttpServletRequest.getParts()之类的方法,这对于处理上传到我的servlet的表单数据是理想的。

但是,此方法是3.0 Servlet规范的一部分,并且我的应用程序服务器(Tomcat 6)尚不支持此方法。即使具有有效的3.0
web.xml文件和Java EE 6库,在尝试调用getParts()时,我也会收到以下异常:

java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getParts()Ljava/util/Collection;

对于该项目,切换应用程序服务器并不是真正可行的选择。是否有任何第三方库可用于在Java Servlet中处理multipart / form-data?


问题答案:

查看Apache Commons
Fileupload
。它为您提供了一个编程API来解析多部分请求,并分别遍历该部分。

过去,我将其用于直接的多部分处理,并且可以很好地完成工作,而不会过于复杂。



 类似资料:
  • 问题内容: 我正在尝试通过带有POST请求的照片上传 根据自述文件,我应该能够做到这一点 问题是,这不起作用。我收到测试服务器的回复,说它转储了0个post变量。 我已经确认该HTML小页面服务器处于工作状态 所以问题是,请求模块在做什么?有没有更好的方法来发送节点? 问题答案: 经过更多研究后,我决定使用。这使得分段上传非常容易。

  • 您好,我正在独立应用程序上使用java中的vertx读取web应用程序中的端口。我想从表单中获取post数据。我的web应用程序有一个带有post方法的表单,我希望阅读该表单。我的逻辑是 > 创建垂直线 创建http服务器 创建处理程序请求(它不接受代码中的所有参数) 我不知道我错过了什么,我是vertx的新手。 出于某种原因,我不能在这里发布代码。 我的代码:https://pastebin.c

  • 使用HTTP API进行客户端-服务器通信的单页(AngluarJS)web应用程序 Spring Security配置为使用CSRF保护(通过XML) CSRF令牌通常在请求头中发送(工作正常) 应用程序需要支持IE9中的文件上载 文件上传通过多部分/表单数据POST请求实现。通常这是使用客户端AJAX完成的,但IE9不支持FileAPI(http://www.w3.org/TR/FileAPI

  • 问题内容: 在Apache Commons HttpClient的3.x版本中,可以进行multipart / form-data POST请求(2004年的示例)。不幸的是,这在HttpClient的4.0版本中不再可能。 对于我们的核心活动“ HTTP”,多部分内容超出了范围。我们很乐意使用由其他项目维护的多部分代码,但我对此一无所知。几年前,我们曾尝试将多部分代码移至commons编解码器,

  • 我遇到了一个问题,我无法在我的资源中获取我的表单,变量总是为空 我的资源: 表单模型 我的取货请求: 和我的HttpClient: 为了确保我正在使用代理进行测试并且请求实际上是好的:变量文件名和徽标始终为空。 这是我的绒球.xml: 我不知道问题出在哪里。 我已经看过了多部分的官方resteasy文档,看不出问题在哪里。我已经用MultipartFormDataInput测试过,所有部分都是空的

  • 我正在使用Spring 5.0.1和servlet 3.1.0 但是当用户发送multipart/report(content-type)时,spring没有正确解析这个请求。 它没有给出任何例外情况,但是它没有在请求部分中存储任何内容。 request.getparts()将返回空数组。 是否需要进行任何配置,以便spring解析任何类型的多部分数据。 在下面张贴我的代码和请求负载: 与请求一起