【问题标题】:HttpServletRequest JAXP DOM: reading POST dataHttpServletRequest JAXP DOM:读取 POST 数据
【发布时间】:2012-01-20 18:53:12
【问题描述】:

我的 servlet 中有一个 HttpServletRequest 对象 获取发布到它的 XML 文档。我想用 JAXP(不是 JAXB,因为它使用了太多的磁盘空间 对于我的特定用例)。我需要解析文档 到内存中的一个 DOM 对象中,它将被处理。 知道如何从请求对象解析 POST XML 吗?

谢谢,

约翰·戈奇

【问题讨论】:

    标签: xml dom servlets jaxp


    【解决方案1】:

    这取决于客户端如何发送它。

    如果它符合 HTTP multipart/form-data 标准(就像与 HTML <input type="file"> 一起使用的那样),则使用 Apache Commons FileUpload 或 Servlet 3.0 HttpServletRequest#getParts() 从多部分请求中提取所需部分。你可以在这里找到一些具体的例子:How to upload files to server using JSP/Servlet?你最终希望得到一个InputStream

    如果它是原始请求正文(即 整个 请求正文实际上是整个 XML 文件,您经常会在滥用 HTTP 协议传输文件的本土低级应用程序中看到这种情况),然后您可以通过 HttpServletRequest#getInputStream() 获得 InputStream

    无论您使用/选择何种方式,您都需要确保以某种方式最终以 InputStream 引用 XML 文件。通过这种方式,您可以以通常的方式将其提供给 JAXP API,其中的方法采用 InputStream

    【讨论】:

      猜你喜欢
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      • 2019-03-29
      • 2019-10-24
      • 2021-01-07
      • 1970-01-01
      • 2011-12-27
      • 2015-09-16
      相关资源
      最近更新 更多