从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代码。 感谢所有^^

+0

我认为您的意思是Javascript代码不是Java。由于市场营销的原因,JavaScript包含“Java”这个词。这两种语言完全不同。 – 2009-08-20 06:55:14

呼叫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声明不符。]