2011-03-28 114 views
9

我有一個接收HttpServletRequest的過濾器,請求是一個由xml組成的POST,我需要讀入我的過濾器方法。從HttpServletRequest對象獲取張貼的xml的最佳方式是什麼?從HttpServletRequest對象獲取發佈的XML

回答

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)。