Servlet

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da Java Servlet)

In informatica, nell'ambito della programmazione Web, le servlet sono oggetti scritti in linguaggio Java che operano all'interno di un server web (es. Tomcat, Jetty) oppure un server per applicazioni (es. JBoss, GlassFish) permettendo la creazione di Web Applications[1].

Il nome deriva dalle Java applet, che sono dei piccoli programmi scritti in linguaggio Java che si eseguono all'interno del browser dell'utente client (elaborazione lato client).

L'uso più frequente delle servlet è la generazione di pagine web dinamiche a seconda dei parametri di richiesta inviati dal client browser dell'utente al server. Negli ultimi anni non viene eseguita la programmazione diretta delle servlet, ma si preferisce usare dei framework web che implementano la specifica servlet, oppure delle JavaServer Pages che vengono poi tradotte (compilate) in servlet a runtime.

Descrizione[modifica | modifica wikitesto]

I programmi che implementano le specifiche dei servlet possono girare all'interno di qualunque servlet container e non sono vincolati ad un particolare server. Lo standard delle servlet rientra all'interno di un vasto insieme di standard detto Java EE[2].

Una servlet può avere molteplici funzionalità e può essere associata ad una o più risorse web.

Per esempio per la realizzazione della parte di Controller nel pattern Model-View-Controller (MVC) in una architettura basata su Java si può ricorrere ad una servlet (es. Spring framework, Java Server Faces). Questa servlet, una volta invocata dal server, deciderà quale pagina visualizzare o quale parte dell'applicazione invocare.

Un altro esempio potrebbe essere un meccanismo per il riconoscimento dell'utente (login): quando si digita un URL del tipo miosito/login.login viene invocata una servlet che verifica la correttezza delle credenziali di accesso inserite appoggiandosi ad un database e indirizza ad una pagina di conferma o di errore a seconda del risultato.

Sotto quest'ottica una servlet è un programma che deve rispettare determinate regole e che processa in un determinato modo una richiesta HTTP. Nulla vieta che all'interno dello stesso server web possano girare più servlet associate a URL diversi, ognuna delle quali farà cose diverse e estenderà le funzionalità del server web.

Versioni[modifica | modifica wikitesto]

La penultima versione della specifica servlet è la 3.0, corrispondente alla JSR 315[3]. Tra le novità più importanti, la possibilità di gestire in modo asincrono le richieste HTTP ed il fatto che il file di configurazione web.xml diventa opzionale.

La versione attuale è la 3.1, corrispondente alla JSR 340[4]

Note[modifica | modifica wikitesto]

  1. ^ Java Servlet Technology Overview. URL consultato il 12 gennaio 2014.
  2. ^ Java Servlet Technology. URL consultato il 12 gennaio 2014.
  3. ^ JSR 315: JavaTM Servlet 3.0 Specification. URL consultato il 12 gennaio 2014.
  4. ^ JSR 340: Java Servlet 3.1 Specification. URL consultato il 25 maggio 2015.

Voci correlate[modifica | modifica wikitesto]