Introduction
JEE
Servlet
http://www.gherabi.com/
Introduction
2
Introduction
v Une servlet est un « objet » Java (classe dérivée de
javax.servlet.GenericServlet) localisé « côté serveur »
qui fournit un service en réponse aux sollicitations de
différents « clients ».
v C'est un composant serveur spécialisé fonctionnant
dans un « Web Container » Java EE.
3
Introduction
4
Introduction
Requête HTTP :
Une requête HTTP peut être envoyée en utilisant les méthodes
suivantes:
§ ︎GET : Pour récupérer le contenu d’un document
§ ︎POST : Pour soumissionner des formulaires (Envoyer, dans la
requête, des données saisies par l’utilisateur )
§ ︎PUT pour envoyer un fichier du client vers le serveur
§ ︎DELETE permet de demander au serveur de supprimer un
document.
§ ︎HEAD permet de récupérer les informations sur un document
(Type, Capacité, Date de dernière modification etc...)
5
Introduction
6
Servlet
- Composant logiciel écrit en Java fonctionnant du coté serveur
︎
Nous trouvons aussi :
Ø CGI (Common Gateway Interface)
Ø ︎ Langages de script coté serveur PHP, ASP (Active Server Pages)
- Permet de gérer des requêtes HTTP et de fournir au client une
réponse HTTP
︎
- Une Servlet s’exécute dans un moteur de Servlet ou conteneur
de Servlet permettant d’établir le lien entre la Servlet et le serveur
Web
7
Servlet
Structure :
8
Servlet
Exemple :
Redéfinition de la
méthode doGet
traitant les requêtes
HTTP GET.
Redéfinition de la
méthode doPost
traitant les requêtes
HTTP POST.
9
Servlet
Comment ca marche :
Quand l’utilisateur saisit une URL dans le navigateur, il envoie une
requête HTTP à notre contrôleur (qui est en vrai une Servlet)
• Mais quelle Servlet ?
Le serveur va chercher quelle Servlet est associée à cette route
Associer une route à une Servlet :
q Soit avec l’annotation @WebServlet
q Soit dans le fichier web.xml
10
Servlet
Routage avec Web.xml
11
Servlet
Fichier Web.xml
12
Servlet
<Welcome-file-list>
13
Servlet
Déclaration de la Servlet dans le fichier Web.xml
14
Servlet
Autre balises concernant la Servlet dans le fichier Web.xml
15
Servlet
Contenu du fichier Web.xml
16
Servlet
Format de la requête http :
Informations sur la requête envoyé par l’utilisateur:
17
Servlet
Exemple d’une Servlet :
18
Servlet
Pour renvoyer une page HTML complète
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
// pour indiquer le type de réponse
response.setContentType("text/html");
// indiquer l’encodage UTF-8 pour éviter les problèmes avec les accents
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println("Hello World");
}
19
Servlet
Pour renvoyer une page HTML complète
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException{
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Projet Servlet </title>");
out.println("</head>");
out.println("<body>");
out.println("Hello World");
out.println("</body>");
out.println("</html>"); }
20
Servlet
Récupération des paramètres :
request.getParameter("nomParameter");
Exemple :
21
Servlet
Problèmes rencontrés avec Les Servlets
§ Un code trop long pour un simple affichage.
§ Pas de respect du modèle MVC : le contrôleur n’affiche pas de résultat
Solution :
§ Utilisation des vues JSP pour l’affichage des données
22