MokaByte 93 - Febbraio 2005
Precompilazione delle JSP
di
Yury Fedorov
Nell'articolo viene descritta una possibilità da precompilare le pagine JSP dell'applicazione web sul qualsiasi J2EE web server aiutando ad evitare la pausa quando la pagina è chiamata la prima volta dopo il deployment dell'applicazione web. Potrebbe essere utile per il gruppo di supporto dell'applicazione web in produzione e per il gruppo di tester

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

 

Yury Fedorov laureato in Tecnologie Informatiche, lavora da più di 6 anni nel settore IT. Dal 1999 si occupa di Java ed in particolare dello sviluppo di applicazioni web J2EE. Dopo diverse esperienze di disegno e sviluppo ora si occupa in particolare di aspetti architetturali per progetti rivolti al mercato e-business. Ha numerosi certificati di Brainbench e in particolare Master Java, Internet Professional Web Developer Client-side e Internet Professional Web Developer Server-side.

MokaByte® è un marchio registrato da MokaByte s.r.l. 
Java®, Jini® e tutti i nomi derivati sono marchi registrati da Sun Microsystems.
Tutti i diritti riservati. E' vietata la riproduzione anche parziale.
Per comunicazioni inviare una mail a info@mokabyte.it