Как читать в файле XML на удаленном веб-сайте с помощью JSP? - PullRequest
1 голос
/ 15 мая 2010

Я использую java-сервлеты и jsp в своем приложении, и мне нужно прочитать удаленный XML-файл и правильно отобразить его в HTML и отобразить на веб-странице ... Какая технология используется для процесса чтения? Должен ли я использовать HTTPURLConnection класс для чтения содержимого файла xml или есть какой-то другой способ? А также, если я буду использовать сервлет в качестве контроллера и JSP в качестве представления, что будет нести ответственность за сервлет и jsp в этом процессе? Должен ли сервлет просто прочитать весь XML-файл, а затем просто передать выходные данные чтения в JSP, который просто напечатает это и сделать правильно, используя XSL, например?

Я действительно надеюсь услышать от любых людей, которые могут помочь,

С уважением

1 Ответ

3 голосов
/ 15 мая 2010

JSP здесь не несет ответственности. Просто преобразуйте XML в сервлете с помощью XSL и запишите его результат непосредственно в OutputStream ответа.

StreamSource xml = new StreamSource(new URL("http://external.com/file.xml").openStream());
StreamSource xsl = new StreamSource(new File("/path/to/file.xsl"));
StreamResult out = new StreamResult(response.getOutputStream());

try {
    Transformer transformer = TransformerFactory.newInstance().newTransformer(xsl);
    transformer.transform(xml, out);
} catch (TransformerException e) {
    throw new ServletException("Transforming XML failed.", e);
}

Не забудьте установить Content-Type с помощью HttpServletResponse#setContentType(), иначе веб-браузер может обрабатывать его как обычный текст.

...