【发布时间】:2014-05-07 09:07:12
【问题描述】:
我有一个要求是调用一个 Servlet,提供 XML 数据作为输入。我已经在我的程序中生成了 XML 数据,我必须将它传递给我的 servlet。我在我的 servlet 中使用doPost() 方法。我不知道将 XML 数据与 servlet URL 一起传递。
如何做到这一点?
【问题讨论】:
我有一个要求是调用一个 Servlet,提供 XML 数据作为输入。我已经在我的程序中生成了 XML 数据,我必须将它传递给我的 servlet。我在我的 servlet 中使用doPost() 方法。我不知道将 XML 数据与 servlet URL 一起传递。
如何做到这一点?
【问题讨论】:
尽量不要将其视为XML。将其视为String,然后在服务器端对其进行解析。
<form name="myForm" id="myForm" method="post" action="/myservlet">
<input id="xml" type="hidden" value="XML DATA"/>
<input type="submit" value="Click me"/>
</form>
然后在你的servlet..
// Get the string from the post request.
String xmlContent = request.getParameter("xml");
// Create a document builder.
DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputSource is = new InputSource();
// Load the XML data into an InputSource object.
is.setCharacterStream(new StringReader(xmlContent));
// Parse the raw data into a Document object.
Document doc = db.parse(is);
【讨论】: