Wie in der XML-Datei auf einer Remote-Website mit JSP zu lesen?
-
27-09-2019 - |
Frage
Ich bin mit Java-Servlets und jsp in meiner Anwendung, und ich brauche die Remote-XML-Datei zu lesen und es richtig macht in HTML und Anzeige auf einer Web-Seite ... Was ist die Technologie für Leseprozess verwendet? Soll ich HttpURLConnection Klasse den Inhalt der xML-Datei oder gibt es eine andere Art und Weise zu lesen? Und auch, wenn ich Servlet als Controller und JSP als Ansicht verwenden, was in der Verantwortung der Servlet und JSP in diesem Prozess sein würde? Should Servlet lesen Sie einfach die gesamte XML-Datei und dann nur die Leseausgabe zu JSP übergeben, die gerade gedruckt wird es und macht richtig XSL zum Beispiel mit?
Ich hoffe wirklich, von irgendwelchen Leuten zu hören, die helfen können,
Mit freundlichen Grüßen
Lösung
JSP hat keine hier Verantwortung. verwandeln Sie einfach die XML in Servlet mit XSL und schreiben das Ergebnis direkt an die OutputStream
der Antwort.
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);
}
Vergessen Sie nicht die Content-Type
mit HttpServletResponse#setContentType()
zu setzen, sonst der Web-Browser es als Plain-Text handhaben.