java - 从 HttpServletRequest 对象获取发布的 XML

标签 java servlets servlet-filters

我有一个接收 HttpServletRequest 的过滤器,请求是一个 POST,它包含一个我需要读入我的过滤器方法的 xml。从 HttpServletRequest 对象获取发布的 xml 的最佳方法是什么。

最佳答案

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

如果它作为原始请求正文发送,则使用 ServletRequest#getInputStream() :

InputStream xml = request.getInputStream();
// ...

如果它作为常规 application/x-www-form-urlencoded 请求参数发送,则使用 ServletRequest#getParameter() :

String xml = request.getParameter("somename");
// ...

如果它是作为 multipart/form-data 部分风格的上传文件发送的,则使用 HttpServletRequest#getPart() .

InputStream xml = request.getPart("somename").getInputStream();
// ...

这是标准 servlet API 支持的方式。其他方式可能需要不同的或第 3 方 API(例如 SOAP)。

关于java - 从 HttpServletRequest 对象获取发布的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5453649/

相关文章:

java - Java EE 应用程序和过滤器中的编写器和输出流

java - 在 servlet 过滤器中同步代码

jakarta-ee - Apache Tomcat MimeTypes - 有什么方法可以获取它们?

java - 如何检查字符串是否为数字?

java - 使用 UDP 单播/多播向一组用户发送消息

java - getParameter 对于 post 和 get 操作的行为是什么?

Java HttpURLConnection获取所有内容包括css、img等

Java Servlet 字符串到 JQuery Ajax 输出乱码

java - java小程序中无法追踪的异常

java - 大写重音字符显示为 “?”