Introduzione

La JSP da solito si compila da J2EE web server in un Java servlet [1]. La compilazione si fa alla prima richiesta della JSP dopo del deployment dell’applicazione web. Il processo della compilazione può richiedere il tempo notevole. Nell’ambiente di produzione e per l’esecuzione di certe prove di produttività serve ad evitare queste spese di tempo. Ci sono diverse possibilità a precompilare JSP che variano da un J2EE web server ad un altro. Questo articolo descrive un tool, CallJsp, che si può usare per la precompilazione delle JSP sul qualunque J2EE web server.

Idea

CallJsp provoca la compilazione di tutte le pagine JSP dell'applicazione web. Per il suo lavoro servano: l'URL all'applicazione web da compilare ed il percorso al file con l’elenco delle pagine JSP dell'applicazione.

Lista delle JSP

Per creare il file con l’elenco delle pagine JSP è abbastanza lanciare essendo nella cartella con i tuoi sorgenti JSP il commando find mandando l’output ad un file. find . -name “*.jsp” > jsp-list.txt

Il comando find è una dei standard sulla piattaforma Unix ma non si include nella installazione di Windows. Per usarla sulla macchina Windows si può installare Cygwin [2].

Il file finale può essere qualcosa del genere:

./anagrafica/indirizzo.jsp ./index.jsp ./persona/ricercaPersona.jsp

Lancio

Per lanciare CallJsp e' abbastanza digitare: java CallJsp http://server:port/app/web jsp-list-file ad esempio: java CallJsp http://localhost:8080 jsp-list.txt

Diagnostica

Se la compilazione è andata normalmente JspCall deve dare il seguente output: INFO: L'inizio del processo di precompilazione. INFO: Il processo di precompilazione e' finito.

Se il nome, l’indirizzo IP o la porta del web server era scritto non correttamente JspCall da un warning: WARNING: java.net.ConnectException: Connection refused

In caso se l’URL dell'applicazione web non è corretto:

WARNING: java.io.FileNotFoundException: http://localhost:8080/url/sbagliato/anagrafica/indirizzo.jsp

Conclusione

CallJsp fa la precompilazione delle JSP sul chiunque sia J2EE web server facile da fare. La chiamata del tool può essere aggiunta allo script che lancia il tuo J2EE web server e così automatizzare il processo completamente.La soluzione descritta dà la possibilità a precompilare le JSP senza necessità del alcuno intervento aggiuntivo dopo le modifiche fatte nell’applicazione web se anche erano aggiunte nuove JSP.

Sorgenti

Il progetto JspCall si distribuisce come un progetto open source. Puoi scaricarlo gratuitamente dall’indirizzo http://esistema.it/pubblicazioni/call-jsp/call-jsp-src.zip .

Bibliografia

  • [1] Paul Allen – J2EE Unleashed, Sams, 2001, ISBN 0-672-32180-7
  • [2] CygWin, http://www.cygwin.com