Introduction
JEE
Servlet
[Link]
Introduction
2
Introduction
3
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...)
4
Introduction
5
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
6
Servlet
Structure :
7
Servlet
Exemple :
8
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 [Link]
9
Servlet
Routage avec [Link]
10
Servlet
Fichier [Link]
11
Servlet
<Welcome-file-list>
12
Servlet
Déclaration de la Servlet dans le fichier [Link]
13
Servlet
Autre balises concernant la Servlet dans le fichier [Link]
14
Servlet
Contenu du fichier [Link]
15
Servlet
Format de la requête http :
Informations sur la requête envoyé par l’utilisateur:
16
Servlet
Exemple d’une Servlet :
17
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
[Link]("text/html");
// indiquer l’encodage UTF-8 pour éviter les problèmes avec les accents
[Link]("UTF-8");
PrintWriter out = [Link]();
[Link]("Hello World");
}
18
Servlet
Pour renvoyer une page HTML complète
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException,
IOException{
[Link]("text/html");
[Link]("UTF-8");
PrintWriter out = [Link]();
[Link]("<html>");
[Link]("<head>");
[Link]("<meta charset=\"utf-8\" >");
[Link]("<title>Projet Servlet </title>");
[Link]("</head>");
[Link]("<body>");
[Link]("Hello World");
[Link]("</body>");
[Link]("</html>"); }
19
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
20
Servlet
Récupération des paramètres :
[Link]("nomParameter");
Exemple :
21