La documentazione è effettivamente piuttosto scarna e la libreria non fornisce i sorgenti effettivamente, ma fa comunque in maniera egregia il lavoro, e i pochi esempi che trovi qui sono abbastanza chiari. Ti risponderò per punti:Originariamente inviato da sydbarrett
Avevo già scaricato il .zip (non il jar come indicato nel sito) ed ho inserito le classi nella libreria della mia applicazione nonchè aggiornato il file web.xml. Tuttavia non ho approfondito perchè non sono documentate e non ci sono i sorgenti.
A tal proposito vorrei chiederti come le hai utilizzate:
1) Hai istanziato oppure esteso la classe HttpProxyServlet?
2) Hai triovato la documentazione, oppure hai smanettato un pò prima di usarle?
3) Eventualmente, se possibile, potresti suggerirmi come l'hai implementata?
Grazie
1) Non è stato necessario estenderla ne istanziarla implicitamente, è sufficiente che la libreria sia nel classpath della web application e configurare la servlet HttpProxyServlet nel web.xml.
2) Ho solo visto quegli esempi e fatto qualche prova
3) Come da punto 1, non ho implementato nulla, semplicemente ho fatto qualcosa del tipo:
e sempre nel web.xmlcodice:<servlet> <servlet-name>HttpProxy</servlet-name> <servlet-class>com.jsos.httpproxy.HttpProxyServlet</servlet-class> <init-param> <param-name>host</param-name> <param-value>http://host/o/meglio/url/cui/reindirizzare/la/chiamata</param-value> </init-param> </servlet>
In questo modo ogni chiamata alla mia webapplication del tipo:codice:<servlet-mapping> <servlet-name>HttpProxy</servlet-name> <url-pattern>/url/pattern/del/tipo/di/request/da/intercettare</url-pattern> </servlet-mapping>
http://miohost/miawebapp/url/pattern...metro2=valore2
viene rediretta automaticamente su
http://host/o/meglio/url/cui/reindir...metro2=valore2
e la risposta ottenuta restituita a chi ha invocato la prima url
Nel tuo caso però la situazione è un po diversa, mentre io avevo solo necessità di mettere sotto autenticazione la "url nascosta", cosa che facevo mediante dei filtri, tu hai necessità di implementare questo accesso FIFO, quindi probabilmente la cosa migliore è che tu estenda la servlet HttpProxyServlet in modo da sfruttarla per la funzionalità di proxy e poi implementi nella subclasse la funzionalità di accesso FIFO. Ovviamente nel web.xml in luogo della com.jsos.httpproxy.HttpProxyServlet dovrai inserire la tua sublclasse.