Tabella 2
|
javax.servlet.Servlet
|
|
void init(ServletConfig)
|
Inizializzazione della servlet, chiamata una volta sola
|
|
ServletConfig getServletConfig()
|
Ritorna la configurazione di startup della servlet sul server
|
|
void service(ServletRequest, ServletResponse)
|
Chiamato per ogni richiesta di servizio alla servlet
|
|
void destroy()
|
Distruzione e finalizzazione della servlet
|
|
javax.servlet.http.HttpServlet
|
|
void service(HttpServletRequest, HttpServletResponse)
|
Chiamato per ogni richiesta di servizio alla servlet http
|
|
void doGet(HttpServletRequest, HttpServletResponse)
|
Chiamato per servire richieste HTTP di tipo GET al Web
Server
|
|
void doPost(HttpServletRequest, HttpServletResponse)
|
Chiamato per servire richieste HTTP di tipo POST
|
In Tabella 2 sono riassunti i principali
metodi utilizzati per gestire sia richieste in generale che le
richiesta HTTP in particolare.
Quando una servlet viene creata, l'inizializzazione
viene effettuata dal metodo Servlet.init(ServletConfig),
passandogli una configurazione. Questa configurazione può
essere utilizzata per specificare informazioni "ambientali": per
esempio l'URL JDBC del un database da utilizzare (per non
"cablarlo" nel codice); il metodo Servlet.destroy() è
il complementare che viene chiamato quando l'esecutore decide di
rilasciare una servlet. L'inizializzazione avviene una volta sola,
quando l'applet viene caricato; in questa fase si possono
effettuare operazioni lente, come l'apertura di una connessione ad
un database. In questo modo, quando arriveranno le richieste di
servizi si potrà sfruttare la connessione già aperta.
Alcuni esecutori di servlet (ma non tutti!) si accorgono che una
classe sul disco è cambiata: in questo caso terminano l'applet
esistente in memoria e caricano la nuova versione.
La classe javax.servlet.http.HttpServlet,
derivata da javax.servlet.Servlet, è
specializzata per la gestione di richieste HTTP e ha il suo cuore
nei metodi void doGet(HttpServletRequest,
HttpServletResponse) e doPost(HttpServletRequest,
HttpServletResponse). Questi due metodi vengono chiamati
rispettivamente per servire le richieste di tipo GET e
POST. È presente anche un metodo
service(HttpServletRequest, HttpServletResponse) che occorre
ridefinire soltanto quando si vogliono gestire richieste un po'
speciali, come PUT, OPTIONS o TRACE.
|