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 invece 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 al server dal client browser dell'utente. Negli ultimi anni non viene eseguita la programmazione delle servlet direttamente, 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 sorgente]

I programmi che implementano le specifiche dei servlet possono girare all'interno di qualunque servlet container e non sono vincolati ad un particolare server. L'attuale versione della specifica servlet è la 3.0, corrispondente alla JSR 315[2]. Lo standard delle servlet rientra all'interno di un vasto insieme di standard detto Java EE[3].

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. Apache Struts). 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.

Note[modifica | modifica sorgente]

  1. ^ Java Servlet Technology Overview. URL consultato il 12 gennaio 2014.
  2. ^ JSR 315: JavaTM Servlet 3.0 Specification. URL consultato il 12 gennaio 2014.
  3. ^ Java Servlet Technology. URL consultato il 12 gennaio 2014.

Voci correlate[modifica | modifica sorgente]