Prerequisiti: Web Server Apache Jakarta Tomcat e conoscenze Java di livello intermedio.
Una servlet è una classe Java. Affinchè diventi una servlet essa deve implementare
l'interfaccia Servlet oppure estendere la classe che implementa l'interfaccia Servlet.
Qui vogliamo semplicemente avviare i nostri motori e la nostra creatività utilizzando
le JSP. Quindi, si parte da zero. Il nostro esempio, di cui possibile
scaricare
il contenuto completo da qui, vuole visualizzare una servlet con il simpatico messaggio
"Questa è una prova!", invece del blasonato "Hello World"
oppure "Ciao Mondo" (lascio al lettore come esercizio il compito
di cambiare il testo).
Nella cartella "C:\Programmi\Apache Software Foundation\Tomcat 6.0\webapps"
sono presenti tutte le nostre applicazioni ed è proprio qui che creeremo la nostra
cartella chiamata "servlet_esempio".
All'interno creiamo subito una cartella chiamata "WEB-INF" e "WEB-INF\classes".
Attenzione ai caratteri maiuscoli/minuscoli perchè qui è tutto case-sensitive (in
realtà sarebbe meglio abituarsi a gestire le maiuscole e le minuscole, anche nei
sistemi dove non incide, sai com'è, certe aziende cambiano idea dalla sera alla
mattina :-)).
Passo 1. All'interno della nostra cartella servlet_esempio, creiamo
un file index.html con
il seguente codice:
<!-- CODICE DI ESEMPIO DEL FILE index.html -->
<html>
<head>
<title>Esempio di Servlet</title>
</head>
<body>
<a href="servlet/Esempio">Clicca qui!</a>
</body>
</html>
<!-- FINE CODICE DI ESEMPIO DEL FILE index.html -->
Passo 2. All'interno della cartella WEB-INF creiamo un file chiamato web.xml con
il seguente codice:
<!-- CODICE DI ESEMPIO DEL FILE web.xml -->
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<display-name>Benvenuto in Servlet</display-name>
<description>Questo è un esempio di Servlet</description>
<servlet>
<servlet-name>Esempio</servlet-name>
<servlet-class>Esempio</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Esempio</servlet-name>
<url-pattern>/servlet/Esempio</url-pattern>
</servlet-mapping>
</web-app>
<!-- FINE CODICE DI ESEMPIO DEL FILE web.xml -->
Questo file ha la sua importanza perchè senza di esso la Servlet non parte. Tralasciamo l'ovvio significato
di display-name e description concentrandoci sui
tag servlet e servlet-mapping. Riporto la
struttura di seguito per meglio spiegarne i significati:
<servlet> <servlet-name>
Nome della servlet. Quello che hai scritto nel
tuo file in Java alla voce in rosso:
public class Esempio extends HttpServlet
</servlet-name> <servlet-class>
Qui scrivi la stessa cosa se la tua classe non
fa parte di un package. Invece, se la tua classe
fa parte di un package, allora scriverai
nomepackage.nomeclasse. Ovvero, se la classe Esempio
è in un package di nome mypack, allora scriverai
mypack.Esempio.
</servlet-class> </servlet>
<servlet-mapping> <servlet-name>
Come sopra, qui scrivi SOLO il nome della classe,
senza scrivere il package, anche se la classe ne
fa parte.
</servlet-name> <url-pattern>
Qui scriviamo il nome della classe aggiungendo
il suffisso /servlet/, seguito dal nome della classe,
Esempio nel nostro caso.
</url-pattern> </servlet-mapping>
Passo 3. Copiare il file Esempio.class nella cartella WEB-INF\classes.
Di seguito il codice del file Esempio.java da compilare con un javac Esempio.java
a riga di comando.
/* CODICE DEL FILE Esempio.java */ import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Esempio extends HttpServlet {
static final long serialVersionUID = 33;
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Io sono un titolo!</title>");
out.println("</head>");
out.println("<body bgcolor=\"white\">");
out.println("<h1>Questa è una prova!</h1>");
out.println("</body>");
out.println("</html>");
}
}
/* FINE CODICE DEL FILE Esempio.java */
Passo 4. Avviare il sito di prova.
Digitando il percorso http://localhost/servlet_esempio nel browser,
si avvierà il sito con la pagina iniziale index.html. Cliccando
sul link dovrà apparire il testo
Questa è una prova!
Tutto qui! Se hai difficoltà,
scarica
da qui il codice sorgente e la classe Esempio.class
compilata. Copia tutto nella cartella webapps e avvia dal link proposto. Ancora
problemi? Scrivimi nel forum all'indirizzo
http://www.enricomilano.it/forum.
Stampa quest'articolo
|