отправить данные XML на сервер из JS и получить параметр XML - PullRequest
0 голосов
/ 20 августа 2009

В 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);

Мой вопрос: Как я могу получить данные XML в JSP Page XmlAction.jsp?

Можете ли вы дать мне немного кода Java. Спасибо всем ^^

1 Ответ

0 голосов
/ 20 августа 2009

Вызовите request.getInputStream () , чтобы получить поток отправленного тела XML и передать его любому анализатору XML, который вы планируете использовать (например, для DOM реализация DocumentBuilder.parse (поток) , который можно получить из javax.xml.parsers.DocumentBuilderFactory).

Наличие тела POST без веб-формы (application / x-www-form-urlencoded, multipart / form-data) немного необычно для Servlet / JSP, но должно работать нормально. Просто убедитесь, что ничто не вызывает методы типа getParameter (), которые ожидают ввода веб-формы, и запутаются, если вы уже прочитали поток ввода.

[в сторону: вы действительно имеете в виду ISO-8859-1? Если вы отправляете символы Unicode в теле с помощью XMLHttpRequest.send (), они будут закодированы как UTF-8, что не будет соответствовать вашему объявлению XML.]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...