从JS发送XML数据到服务器并获取XML参数
问题描述:
在Javascript中我可以把XML字符串JSP服务器(XmlAction.jsp):从JS发送XML数据到服务器并获取XML参数
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页面中获取XML数据XmlAction.jsp?
你可以给我一些java代码。 感谢所有^^
答
呼叫request.getInputStream()得到提交XML体流,并把它传递到任何XML解析器您打算使用(如,对于DOM的DocumentBuilder.parse(stream)的实现,你可以从javax.xml得到.parsers.DocumentBuilderFactory)。
对于Servlet/JSP,拥有非web形式(application/x-www-form-urlencoded,multipart/form-data)的POST主体稍有不同,但应该可以正常工作。只要确保没有任何方法可以调用getParameter()方法,这些方法会期望Web表单输入,如果您已经阅读了输入流,就会感到困惑。
[抛开:你真的是指ISO-8859-1?如果您使用XMLHttpRequest.send()在正文中发送Unicode字符,则它们将被编码为UTF-8,这与您的XML声明不符。]
我认为您的意思是Javascript代码不是Java。由于市场营销的原因,JavaScript包含“Java”这个词。这两种语言完全不同。 – 2009-08-20 06:55:14