Facciamo tutto a "mano" e quindi .
- creiamo una cartella applicazione1 dentro webapps
- dentro applicazione1 creiamo una cartella WEB-INF e un file web.xml
- dentro WEB-INF creiamo la cartella classes
- scriviamo il codice java di una Servlet (Esempio) con Eclipse
- mettiamo il file Esempio.class dentro la cartella classes
Il file Esempio.class è il file .class della nostra Servlet.
Scriviamo il codice con Eclipse :
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import
javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse;
public class Esempio extends HttpServlet {
public void doGet(HttpServletRequest
request, HttpServletResponse response)
throws IOException,
ServletException {
response.setContentType("text/html");
PrintWriter out =
response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>Ciao Servlet!!!</h1>");
out.println("</body>");
out.println("</html>");
}
}
Andiamo nello spazio di lavoro di Eclipse e prendiamo il file class dalla cartella bin e lo copiamo in classes.
Editiamo il file web.xml scrivendo il codice :
<?xml version="1.0"
encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>Esempio</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/ciao</url-pattern>
</servlet-mapping>
</web-app>
Avviamo il server e testiamo l'applicazione all'indirizzo:http://localhost:8090/applicazione1/ciao
Commentiamo il codice della Servlet :
- La classe Esempio è una Servlet ed infatti estende HttpServlet.
- In Esempio viene sovrascritto il metodo doGet(). Questo metodo viene utilizzato per gestire nel protocollo HTTP le richieste, appunto, GET.
- Inseriamo nella risposta il tipo del contenuto ( in questo caso testo html ); in questo modo il browser potrà interpretare la risposta (nel protocollo http non passa solo testo http ma anche altre cose, come css, immagini ecc).
- PrinterWriter è una classe astratta che serve a scrivere un flusso di caratteri.
- infine scriviamo riga dopo riga l'uscita. Stiamo stampando del semplice HTML.
Quindi al momento della richiesta GET la Servlet risponderà con un flusso di caratteri di tipo HTML, che il browser potrà interpretare e utilizzare per costruire la pagina HTML di risposta.
Commentiamo l'xml :
Il file web.xml è il file di configurazione dell'applicazione web. Dentro questo file ci possono essere molte informazioni. Nel nostro caso ce ne sono solo due :
- Una anagrafica delle Servlet della nostra applicazione , nel nostro caso solo una, Esempio. Il mappaggio avviene con i tag . Qui decidiamo come chiamare la Servlet (in questo caso Servlet1) e quale è la classe di riferimento (Esempio.class).
- Un mapping della Servlet. Indichiamo un percorso che serve ad invocare la Servlet. Stiamo dicendo che collegando /ciao all'indirizzo della nostra applicazione avremo l'invocazione della Servlet1: http://localhost:8090/applicazione1/ciao


Nessun commento:
Posta un commento