从JS向服务器发送XML数据并获取XML参数

时间:2009-08-20 06:44:38

标签: xml

在Javascript中我可以将XML字符串发送到JSP服务器(XmlAction.jsp):

Javascript代码:

var xmlDocument = "<?xml version="1.0" encoding='ISO-8859-1'?>
                        <Customer>
                             .......
                         </Customer> 
                    "
 var httpRequest;

 httpRequest = new XMLHttpRequest();    
 httpRequest.open('POST', "http://example.com/XmlAction.jsp", false);
 httpRequest.send(xmlDocument);

我的问题:如何在JSP Page XmlAction.jsp中获取XML数据?

你能给我一些java代码吗? 谢谢所有^^

1 个答案:

答案 0 :(得分:0)

调用request.getInputStream()获取提交的XML正文的流,并将其传递给您计划使用的任何XML解析器(例如,对于DOM,DocumentBuilder.parse(stream)的实现,您可以从javax获取.xml.parsers.DocumentBuilderFactory)。

具有非Web表单(application / x-www-form-urlencoded,multipart / form-data)POST主体对于Servlet / JSP来说有点不寻常,但应该可以正常工作。只是确保没有任何东西调用像getParameter()这样的方法来进行Web表单输入,如果你已经读过输入流,就会感到困惑。

[旁白:你真的是指ISO-8859-1吗?如果使用XMLHttpRequest.send()在正文中发送Unicode字符,它们将被编码为UTF-8,这与您的XML声明不匹配。]