Per Info clicca qui

Un trucco al giorno nella tua casella di posta elettronica?


Advertising - Circuito banner pubblicitario Merlin Wizard srl - www.ilbanner.com  

scarica la lezione.gif (284 byte)

Scarica questa lezione 14KB

Cosa sono e cosa fanno i servlet java
by Fabrizio Salvo (xfab@lycosmail.com)
http://utenti.tripod.it/xfab/

 

In questo articolo vedremo che cosa sono, cosa fanno e come si realizzano i Servlet Java.

SOMMARIO

  1. Cosa sono
  2. Cosa fanno
  3. Prepariamo l'ambiente
  4. Un semplice esempio
  5. Commentiamo il codice
  6. Visualizziamo il servlet
  7. Conclusioni





1) Cosa sono

I Servlet sono moduli scritti in Java che estendono le funzionalità dei server request/response, conosciuti anche come web server. Essendo scritti in Java possono essere inseriti nella maggior parte di essi. Questo perche' Java e' indipendente dalla piattaforma (Write once and Run everywhere ). I servlet vengono usati al posto dei normali script CGI, e risiedono sul lato server. Essi forniscono un modo per generare dinamicamente web pages. Essendo applicazioni studiate per Internet/Intranet si pone però il problema della sicurezza. Tutto ciò è però agevolmente superato grazie a un Security Manager simile a quello degli applet, che rende queste aplicazioni libere da bugs.


2) Cosa fanno

I Servlet sono un' ottima alternativa alle usuali CGI. Essi consentono di generare dinamicamente pagine web
che sono sia facili da scrivere che veloci da visualizzare. Grazie ai Servlet, dal lato client si puo' interagire con Data Base remoti attraverso il protocollo HTTP con gli usuali metodi di Post e Get. Vediamo ora dei possibili usi dei Servlet:

  • Supportare richieste multiple in modo concorrente, come per esempio conferenze on-line
  • Aggiornare, eliminare o consultare dati contenuti in un Db remoto tramite protocollo TCP/IP
  • Applicazioni di E-Commerce
  • Fare dei forward ad altri Servlet in altri server, allo scopo di bilanciare il carico di lavoro

La differenza principale tra i Servlet e le comuni CGI è che i Servlet non richiedono la creazione di un nuovo processo, consentendo un utilizzo più efficiente della memoria e del processore. Tutto ciò grazie alla presenza della Java virtual machine che carica dinamicamente una nuova classe, in poche parole il Servlet diventa parte integrante del server www.

3) Prepariamo l'ambiente

Per poter scrivere un servlet dobbiamo prima di tutto prepare l'ambiente di lavoro. Se non abbiamo un web server che supporta i Servlet dobbiamo procedere nel segunte modo :

  • Scarichiamo dal sito http://java.sun.com il programma jdk1.1.8 o superiori e installiamolo sul nostro pc
  • Scarichiamo dal sito http://java.sun.com il programma jsdk2.0 e installiamolo sul nostro pc
  • Apriamo il file autoexec.bat e inseriamo le seguenti righe:
        • PATH C:\jdk1.1.8\bin
        • SET CLASSPATH=.;c:\jdk1.1.8\lib\classes.zip

A questo punto l'ambiente e' pronto, facciamo un restart del computer e possiamo passare a scrivere il nostro Servlet.

4) Un semplice esempio

Passiamo ora a scrivere il Servlet .Quello che segue è solo un semplice esempio che non fa altro che stampare la scritta "CIAO A TUTTI" sullo schermo. E' pero' utile per capire come si scrive e si richiama un Servlet. Apriamo ora un editor di testo (notepad va benissimo) e scriviamo il seguente codice :


  public class MioServlet extends HttpServlet
        { 
           
            public void doGet (HttpServletRequest request,
                               HttpServletResponse response)
            throws ServletException, IOException
            {
                PrintWriter         out;
                String              title = "CIAO A TUTTI";

              response.setContentType("text/html");
		response.setHeader("Pragma", "no-cache");  

                out = response.getWriter();

                out.println("<HTML><HEAD><TITLE>");
                out.println(title);
                out.println("</TITLE></HEAD><BODY>");
                out.println("<H1>" + title + "</H1>");
                out.println("<P>CIAO A TUTTI");
                out.println("</BODY></HTML>");
                out.close();
            }
        }

5) Commentiamo il codice

Vediamo ora di commentare il codice:

  • Nella prima riga "MioServlet" estende la classe HttpServlet che implementa l'interfaccia dei Servlet
  • "MioServlet" sovrascrive il metodo doGet nella classe HttpServlet. Questo metodo è chiamato quando il client vuole recuperare delle informazioni dal server, e il risultato è una semplice pagina HTML restituita al client stesso. Il metodo doGet è il metodo di default del protocollo HTTP.
  • con il metodo setContentType stabiliamo il tipo MIME della pagina di risposta. In questo caso e' HTML
  • con il metodo setHeader possiamo avere un controllo su alcuni parametri della pagina che mandiamo al client. In questo caso settando l' attributo "pragma no-cache", impediamo al browser, che visualizzera' la pagina, di metterla nella cache.
  • Il metodo getWriter è un modo per restituire dati all'utente. Il metodo getWriter ritorna un writer, cioè un outputstream con il quale sarà possibile ritornare la pagina di risposta al client. Bisogna settare l'header HTTP prima di accedere al writer. La classe HttpServletResponse fornisce metodi per accedere all'header dei dati. Un esempio di ciò, è stato mostrato prima con il metodo setContentType.



6) Visualizziamo il servlet

Per visualizzare il servlet procediamo nel seguente modo :

  • Mettiamo il file MioServlet.class sotto la directory C:\jsdk2.0\examples
  • apriamo il file property con un editor di testo sotto la directoty C:\jsdk2.0\examples e aggiungiamo la seguente riga: servlet.MioServlet.code=MioServlet
  • apriamo una finestra con il Prompt di Ms-Dos e digitiamo servletrunner
  • apriamo il browser e digitiamo http://localhost:8080/servlet/MioServlet

N.B. : se volessimo passare dei parametri al servlet dovremmo scrivere http://localhost:8080/servlet/MioServlet?parametro1=pippo ma dovremmo modificare il codice.


7) Conclusioni

Concludendo: i Servlet sono un potente mezzo per creare applicazioni lato server per Internet/Intranet. Essendo scritti in Java si hanno tutti i vantaggi che offre questo linguaggio e cioè sicurezza, robustezza e portabilità. Al momento non tutti i web server supportano i Servlet ma possono essere facilmente adattati per il supporto.Si prevede in un futuro molto prossimo che tutti i web server supporteranno i Servlet esattamente come oggi la maggior parte dei browser supporta gli applet.

 


 Vuoi ricevere gli aggiornamenti del sito? Clicca qui!

 

|HomePage| Sezione Java e javascript|                                                                                        

 scarica la lezione.gif (284 byte) Scarica questa lezione 14KB

Aggiornamenti e novità  | Forum | Sezione Download | Sevizi utili | Supporta GuidainLinea | Guida al sito | Rassegna Stampa | Home page