我有一个接收 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/