我有一个接收HttpServletRequest的Filter,请求是一个POST,它包含一个我需要读入我的filter方法的xml。从HttpServletRequest对象获取已发布的xml的最佳方法是什么。
答案 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)。