Differenze tra servlets e Jsp

Guida alle Java server pages
di R.Pedrini

Il lettore attento inizierà quindi a chiedersi quale sia la fondamentale differenza tra una semplice servlet e una pagina JSP. Il comportamento di una servlet richiamata in una pagina HTML può in effetti rendere possibile la generazione di pagine dinamiche e quindi, qual’è il valore aggiunto dalle JSP?
A differenza di una semplice invocazione di una servlet pura in una pagina HTML, il JSP va un passo oltre: agli occhi del programmatore esse costituiscono il mescolamento di codice HTML, componenti riusabili (Java Beans), applicazioni remote (Servlets), codice Java puro e script Java-like. Si potrebbe dire che le JSP rappresentano il collante per unire insieme una serie di oggetti differenti tra loro. Le JSP sono la risposta a soluzioni simili come ASP e PHP ma in chiave Java.

Ecco ad esempio quella che può essere la struttura di una pagina JSP:

<JSP set up text>
<HTML tags>
text.....
<JSP tag>
<HTML tags>
<JSP tag>
text.....
<HTML tags>


In termini pratici, una pagina JSP è essa stessa compilata in una Servlet, ma il grosso vantaggio che se ne ottiene è che, in questo caso, la presenza di elementi di programmazione differenti (HTML, EJB, servlets) permette di diversificare i vari compiti, semplificando la loro realizzazione.

Processo di compilazione del file JSP nella relativa Servlet

Rispetto all’invocazione di servlets pure per la generazione di pagine web dinamiche, si semplifica la stesura e la modifica dell’HTML poichè è possibile separare la sezione di produzione dei contenuti da quella di visualizzazione vera e propria (aspetto grafico e stilistico del sito). I vantaggi di questo disaccoppiamento, si ripercuotono anche sulla modalità di produzione e manutenzione del sito, permettendo a team di lavoro differenti di lavorare in maniera indipendente ma parallela.

Il JSP permette di integrare il lavoro specializzato di team differenti

La relazione esistente tra Servlets e JSP è quindi ormai chiara. Le pagine JSP sono focalizzate sull’HTML (o XML) con inclusi tags Java o componenti (bean); quando ad un web server (che supporta il JSP) è richiesta una pagina JSP, esso verifica, innanzitutto, se tale pagina è già stata compilata (viceversa produce il relativo bytecode), quindi carica ed esegue il codice Java della pagina JSP come una qualsiasi altra servlet, producendo in output la pagina HTML da inviare al browser.

Interazione client-server dopo una richiesta di una pagina JSP

© Risorse.net (www.risorse.net)
pagina in versione stampabile:
http://www.risorse.net /jsp/differenze.asp?print=ok