Como ler no arquivo XML em um site remoto usando o JSP?
-
27-09-2019 - |
Pergunta
Estou usando o Java Servlets e o JSP no meu aplicativo e preciso ler o arquivo XML remoto e renderizá -lo adequadamente no HTML e exibir em uma página da web ... qual é a tecnologia usada para o processo de leitura? Devo usar a classe HttpurlConnection para Leia o conteúdo do arquivo XML ou há outra maneira? E também, se eu usar o Servlet como controlador e JSP como uma visão, qual seria a responsabilidade do servlet e JSP nesse processo? O servlet deve apenas ler o arquivo XML inteiro e depois passar a saída de leitura para JSP, que apenas imprimirá e renderizar corretamente usando o XSL, por exemplo?
Eu realmente espero ouvir de qualquer pessoa que possa ajudar,
Com cumprimentos
Solução
O JSP não tem responsabilidade aqui. Basta transformar o XML no servlet usando o XSL e escrever seu resultado diretamente para o OutputStream
da resposta.
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);
}
Não se esqueça de definir o Content-Type
usando HttpServletResponse#setContentType()
, caso contrário, o webbrowser pode lidar com o texto simples.