Domanda

Ho una forma / calcolatrice, che i messaggi a se stesso alcuni dati, questi dati vengono poi calcolati con l'invio di una servlet ed i risultati vengono emessi in formato XML. Il codice dispatcher è la seguente:

//create instance
ServletContext sc = this.getServletContext();
//create dispatcher
RequestDispatcher rd = sc.getRequestDispatcher("/ProCalcServlet");

rd.include(request, response);

Avere un paio di problemi con quello che sto facendo in questo momento però. In primo luogo, è possibile utilizzare un URL remoto piuttosto che solo a livello locale? E come faccio a elaborare i dati, dal momento che sto assumendo che perché è un servlet, non posso lo chiamano semplicemente un documento XML e utilizzare il DOM per afferrare i dati che voglio.

abbastanza nuovo per questa roba Java, non so nemmeno cosa google esattamente, quindi sono tipo di riprese al buio con i miei metodi attuali. Qualsiasi aiuto o direzioni sarebbe molto apprezzato: applausi P

È stato utile?

Soluzione

spero ho capito bene le vostre domande.

E 'possibile utilizzare l'URL remoto. In tal caso, è necessario richiamare l'URL attraverso lo stile del servizio Web. È possibile utilizzare HttpClient di chiamare l'URL. L'URL sarà poi restituire i dati in formato XML (in un unico grande stringa).

Per di elaborare l'XML, ci sono molte librerie che consentono facilmente di farlo. Si può attaccare del JDK DOM o SAX parser, ma a mio parere questo è disordinato. Considerare l'utilizzo di Castor , JDOM , o DOM4J ... alcuni di loro permette di interrogare il dati utilizzando XPath troppo.

Altri suggerimenti

Non è possibile utilizzare un RequestDispatcher per inoltrare una richiesta a un URL diverso. Questo consente solo di inoltrare richieste alla stessa applicazione Web sullo stesso contenitore. È possibile, tuttavia, l'uso response.sendRedirect() per indirizzare il browser un redirect ad un altro sito / URL. In questo modo, però, non sarà in grado di superare qualsiasi oggetto -. Dovrete fare affidamento su parametri di argomento

Non sono sicuro ho capito quello che stai facendo con XML. La tua prima affermazione sembra implicare che si desidera emettere la risposta come XML, che è certamente abbastanza facile, basta usare:

response.setContentType("text/xml;charset=utf-8");
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top