Le Java Server Page furono presentate in occasione di Java One del 1998, una manifestazione organizzata dalla Sun a San Francisco, per la presentazione delle innovazioni legate a Java.
Passate in un primo tempo pressoché inosservate dalla comunità di sviluppatori Web (principalmente a causa dell'iniziale mancanza di software per la prova e lo sviluppo delle applicazioni), le JSP rappresentano una tecnologia che gioca ancora un ruolo importante nello scenario dello sviluppo di applicazioni Web.
Si tratta una tecnologia multipiattaforma, che affianca le servlet Java, create per separare i contenuti dalla loro presentazione. JSP è una soluzione "embed", una pagina JSP è costituita da markup (X)HTML frammentato da sezioni di codice Java. Si potranno quindi modificare le parti sviluppate in Java lasciando inalterata la struttura HTML o viceversa.
Principali vantaggi
Le JSP si basano su tecnologia Java ereditandone i vantaggi garantiti dalla metodologia object oriented e dalla quasi totale portabilità multipiattaforma. Quest'ultima caratteristica si rivela tanto più vantaggiosa quanto più ci fosse necessità di ambienti di produzione con sistemi operativi diversi tra loro (es Windows e Linux).
Essere object oriented significa anche avere nel DNA una predisposizione al riuso del codice: grazie ai Java Bean si possono includere porzioni di codice che semplificano l'implementazione di applicazioni anche complesse, anche senza approfondite conoscenze di Java, e ne rendono più semplice la modifica e la manutenzione.
La gestione delle sessioni introdotta con le JSP favorisce lo sviluppo di applicazioni di commercio elettronico fornendo uno strumento per memorizzare temporaneamente lo stato delle pagine fino alla chiusura del browser.
Ciclo di vita della richiesta
Una Java Server Page può essere invocata utilizzando due diversi metodi:
- la richiesta può venire effettuata direttamente ad una pagina JSP, che grazie alle risorse messe a disposizione lato server, è in grado di elaborare i dati di ingresso per ottenere e restituire l'output voluto
- la richiesta può essere filtrata da una servlet che, dopo l'elaborazione dei dati, incapsula adeguatamente i risultati e richiama la pagina JSP, che produrrà l'output