Come abbiamo accennnato le JSP affiancano le servlet che comunque giocano un ruolo fondamentale nella creazione di applicazioni Web.
Una servlet è una particolare applicazione che estende le funzionalità dell'application server. Ad esempio si possono creare servlet che gestiscano alcuni flussi di richieste HTTP che necessitano di particolari elaborazioni.
Tipicamente una servlet è rappresentata da una classe che implementa l'interfaccia Servlet
o HttpServlet
, che implementa funzionalità specifiche del protocollo HTTP. Queste classi devono essere rese note al server che le ospita attraverso un'adeguata configurazione.
Le servlet possono anche essere utilizzate per costruire pagine HMTL da inviare direttamente al client. A differenza di uno script CGI le servlet vengono caricate una sola volta, al momento della prima richiesta, e rimangono residenti in memoria, pronte per servire le richieste fino a quando non vengono chiuse, con ovvi vantaggi in fatto di prestazioni (solo la prima richiesta risulta un po' più lenta nel caricamento, ma le successive vengono evase molto velocemente).
Ciclo di vita di un servlet
Il ciclo di vita di una servlet (cioè il tempo che intercorre dal suo caricamento al suo rilascio) si concentra su tre metodi fondamentali: init()
, service()
e destroy()
.
- Init()
Questo metodo viene chiamato una sola volta, subito dopo la sua istanziazione. È in questo metodo che la servlet instanzia tutte le risorse che utilizzerà poi per gestire le richieste - Service()
Questo metodo è incaricato di gestire le richieste effettuate dal client, e ovviamente potrà iniziare il suo lavoro esclusivamente dopo la chiamata del metodoinit()
- Destroy()
Questo metodo segna la chiusura della servlet, è qui che si effettuano eventuali salvataggi di informazioni utili ad un prossimo caricamento della servlet