Les Servlets
Qu'est-ce qu'une Servlet?
Les servlets sont l'un des composants JEE les plus utilisés. Elles permettent de gérer
des requêtes HTTP et de fournir au client une réponse HTTP et forment ainsi la base de la
programmation Web JEE.
Les Servlets s’exécutent toujours dans un moteur de Servlet ou conteneur de Servlet
permettant d’établir le lien entre la Servlet et le serveur Web. Dans ce tutoriel, nous utiliserons
Apache Tomcat.
Une Servlet est invoquée lorsqu'un navigateur appelle l'URL qui lui est liée. Dans notre
programme, nous allons créer une Servlet HelloWorld.java, qui sera exécutée lorsque le
navigateur demandera à charger la page hello.htm et qui affichera le texte "Bonjour tout le
monde".
Ecrire une Servlet HelloWorld
Dans notre projet HelloWorld V1 créé au chapitre précédent, nous allons donc créer notre
première Servlet, appelée HelloWorld et insérée dans un package fr.mistra.helloworld.servlets :
Mistra Formation - 19 rue Béranger 75003 Paris - Métro République - 01 82 52 25 25 - [email protected]
Les Servlets
Le code de la classe HelloWorld est le suivant :
package fr.mistra.helloworld.servlets;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
Mistra Formation - 19 rue Béranger 75003 Paris - Métro République - 01 82 52 25 25 - [email protected]
Les Servlets
import javax.servlet.http.HttpServletResponse;
public class HelloWorld extends HttpServlet{
private static final long serialVersionUID = 1L;
public HelloWorld() {
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("");
out.println("Bonjour tout le monde");
out.println("");
}
}
Mistra Formation - 19 rue Béranger 75003 Paris - Métro République - 01 82 52 25 25 - [email protected]
Les Servlets
A la ligne 11, nous indiquons que la Servlet écrite dérive de la classe HTTPServlet, appartenant
au package javax.servlet.http.HttpServlet, ce qui signifie qu'elle est prévue pour fonctionner
avec le protocole HTTP. De ce fait, notre Servlet gère la réception de requêtes HTTP et l'envoi
de réponses HTTP.
Lorsque le navigateur client demande le chargement d'une page, le serveur Web Tomcat reçoit
une requête HTTP de type GET ou POST. Il crée un objet de type HttpServletRequest, qui
pourra ensuite être traité par la Servlet. Il en va de même pour la réponse : c'est Tomcat qui se
charge de transformer l'objet HttpServletResponse manipulé par la Servlet en une réponse
HTTP compréhensible par le navigateur.
Toutefois, il existe différents types de requêtes HTTP. Les plus courantes sont GET et POST.
Puisqu'elles fonctionnent différemment, les Servlets implémentent des méthodes différentes
pour les traiter. Si la servlet a été appelée par la méthode GET, la méthode doGet est appelée
pour traiter la requête du client. Si la servlet a été appelée par la méthode POST, la méthode
doPost est appelée pour traiter la requête du client :
doPost(HttpServletRequest request, HttpServletResponse response);
doGet(HttpServletRequest request, HttpServletResponse response);
Les autres méthodes existantes sont listées dans la documentation JEE, mais nous ne les
utiliserons pas dans ce tutoriel.
Il n'est pas obligatoire de toutes les implémenter, mais une au moins est nécessaire.
Dans le cas de notre exercice, nous cherchons simplement à charger la page hello.htm, et
aucun paramètre n'est pour l'instant pris en compte : c'est donc la méthode GET qui sera
utilisée.
Mistra Formation - 19 rue Béranger 75003 Paris - Métro République - 01 82 52 25 25 - [email protected]
Les Servlets
La ligne 20 indique le type de réponse à renvoyer : dans notre cas, c'est une page HTML.
A la ligne 21, nous créeons un objet de type PrintWriter qui nous permettra d'écrire dans la
page HTML à renvoyer.
Enfin, les lignes 23 à 25 correspondent au contenu de cette page. Ici, c'est une page
simplissime, contenant une simple ligne de texte :
Bonjour tout le monde!
Lier la servlet à une url
L'application Web est configurée à l'aide du fichier web.xml présent dans le répertoire
/WebContent/WEB-INF. Il contient la description de chaque Servlet, ainsi que les liens existants
entre Servlets et URL.
Dans le cas de notre programme, nous avons créé une nouvelle Servlet nommée
HelloWorld.java, que nous voulions lier à l'url hello.htm. Le fichier web.xml correspondant est
donc celui-ci :
xmlns="http://java.sun.com/xml/ns/javaee"
Mistra Formation - 19 rue Béranger 75003 Paris - Métro République - 01 82 52 25 25 - [email protected]
1 / 11 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !