从HttpServletRequest对象获取发布的XML

时间:2011-03-28 00:52:36

标签: java servlets servlet-filters

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

1 个答案:

答案 0 :(得分:6)

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

如果它已作为原始请求正文发送,请使用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支持的方式。其他方式可能需要不同的或第三方API(例如SOAP)。