Académique Documents
Professionnel Documents
Culture Documents
Cours JEE Servlet Part1 2020
Cours JEE Servlet Part1 2020
Professeur:
Pr HIBA ASRI
Filière:
Génie Informatique , 4 ème année
1
CRÉATION D’UN PROJET WEB AVEC
ECLIPSE / TOMCAT
2
ÉTAPES À SUIVRE
Démonstration
3
CONTEXTE D’UNE APPLICATION
4
ÉTAPES À SUIVRE
1. Créer un répertoire du même nom que notre projet sous Eclipse, directement dans le
dossier webapps de Tomcat, et y copier-coller nos fichiers, et ce à chaque modification de
code ou configuration effectuée ;
2. Créer un nouveau projet depuis Eclipse, en utilisant directement le répertoire webapps de
votre Tomcat Home comme workspace Eclipse ;
3. Modifier le server.xml ou le context.xml de votre Tomcat, afin qu'il sache où chercher ;
4. Utiliser les propriétés d'un projet web dynamique sous Eclipse.
5
RUN ON SERVER
Démonstration
6
STRUCTURE D’UNE APPLICATION JAVA EE
Dossier/Fichiers Rouge: • Porte le nom du projet
Doivent obligatoirement être • Dossiers et fichier de l’app
• Spécial / Existe toujours
nommés et placés comme indiqué
sur le schéma.
• Classe compilées
• Bibliothèques nécessaires
Dossier/Fichiers Bleu:
publics et accessibles directement
par le client via leurs URL.
Dossier/Fichiers Orange:
privés et ne sont donc pas
• Fichier de configuration
accessibles directement par le
client 7
PAGE WEB SOUS ECLIPSE !!
8
PAGE WEB SOUS ECLIPSE !!
• Problème:
Si votre application n'était pas correctement structurée, notre serveur d'applications ne saurait pas
la gérer !!
Traitement interne pour que la structure qu'il a modifiée soit, malgré tout, utilisable sur le serveur
d'applications que nous lui avons intégré.
9
CRÉATION D’UNE PAGE WEB
Démonstration
10
SERVLETS
11
ÉTAPES À SUIVRE
Démonstration
12
CONTEXTE D’UNE APPLICATION
13
ÉTAPES À SUIVRE
1. Créer un répertoire du même nom que notre projet sous Eclipse, directement dans le
dossier webapps de Tomcat, et y copier-coller nos fichiers, et ce à chaque modification de
code ou configuration effectuée ;
2. Créer un nouveau projet depuis Eclipse, en utilisant directement le répertoire webapps de
votre Tomcat Home comme workspace Eclipse ;
3. Modifier le server.xml ou le context.xml de votre Tomcat, afin qu'il sache où chercher ;
4. Utiliser les propriétés d'un projet web dynamique sous Eclipse.
14
RUN ON SERVER
Démonstration
15
STRUCTURE D’UNE APPLICATION JAVA EE
Dossier/Fichiers Rouge: • Porte le nom du projet
Doivent obligatoirement être • Dossiers et fichier de l’app
• Spécial / Existe toujours
nommés et placés comme indiqué
sur le schéma.
• Classe compilées
• Bibliothèques nécessaires
Dossier/Fichiers Bleu:
publics et accessibles directement
par le client via leurs URL.
Dossier/Fichiers Orange:
privés et ne sont donc pas
• Fichier de configuration
accessibles directement par le
client 16
PAGE WEB SOUS ECLIPSE !!
17
PAGE WEB SOUS ECLIPSE !!
• Problème:
Si votre application n'était pas correctement structurée, notre serveur d'applications ne saurait pas
la gérer !!
Traitement interne pour que la structure qu'il a modifiée soit, malgré tout, utilisable sur le serveur
d'applications que nous lui avons intégré.
18
CRÉATION D’UNE PAGE WEB
Démonstration
19
SERVLET
20
HTTP
Méthodes HTTP
• Mots qu'utilise le navigateur pour poser des questions au serveur
21
CONTENEURS DE SERVLETS
Contient la requête HTTP, et donne accès à
toutes ses informations: les en-têtes Initialise la réponse HTTP qui sera renvoyée au
(headers) et le corps de la requête. client, et permet de la personnaliser, en
initialisant par exemple les en-têtes et le corps
le conteneur de
servlets va les
transmettre à votre
application, et plus
précisément aux
servlets.
22
CRÉATION D’UNE SERVLET
Définition
Classe capable de recevoir une requête HTTP envoyée depuis le navigateur de l'utilisateur, et de lui
renvoyer une réponse HTTP.
Remarque:
Une servlet est capable de gérer n'importe quel type de requête, mais dans les faits il s'agit
principalement de requêtes HTTP
23
CRÉATION D’UNE SERVLET
24
CRÉATION D’UNE SERVLET
Class HttpServlet:
• Classe abstraite,
• il est nécessaire de passer par une servlet qui en hérite.
• la classe propose les méthodes Java nécessaires au traitement des requêtes et réponses HTTP :
A retenir:
• Une servlet HTTP doit hériter de la classe abstraite HttpServlet ;
• Une servlet doit implémenterVoir Démonstration
au moins une des méthodes doXXX(), afin d'être capable de
traiter une requête entrante
25
MISE EN PLACE D’UNE SERVLET
Problème
Rendre une servlet accessible!
Solution
Configurer que notre servlet va être associée à une URL (le client la saisira, la requête HTTP sera
automatiquement aiguillée par notre conteneur de servlet vers la bonne servlet, celle qui est en charge de
répondre à cette requête)
Fichier Web.xml : Cœur de l’application ( paramètres qui contrôlent son cycle de vie)
Location: /WEB-INF
26
MISE EN PLACE D’UNE SERVLET
Définition de la Servlet
27
MISE EN PLACE D’UNE SERVLET
Mapping de la Servlet
• <servlet-name> permet de préciser le nom de la servlet à laquelle faire référence. Cette information
doit correspondre avec le nom défini dans la précédente déclaration de la servlet.
• <url-pattern> permet de préciser la ou les URL relatives au travers desquelles la servlet sera
accessible.
28
CRÉATION D’UNE SERVLET
Démonstration
29
CYCLE DE VIE D’UNE SERVLET
Instance de servlet
Gardée en
Servlet demandée créée (conteneur
mémoire
de servlet)
La même instance sera réutilisée pour chaque requête entrante dont les URL correspondent
au pattern d'URL défini pour la servlet.
Question:
l'instance d'une servlet est-elle créée lors du premier appel à cette servlet, ou bien dès le démarrage
du serveur ?
30
CYCLE DE VIE D’UNE SERVLET
<load-on-startup>N</load-on-startup>
31
ENVOYER DES DONNÉES AU CLIENT
32
SERVLET AVEC VUE
33
JSP (JAVA SERVER PAGES)
34
JSP (QUOI, POURQUOI)
35
CYCLE DE VIE D’UNE JSP
Traduire /
Compiler en une
JSP demandée Vérifier
classe héritante de
HttpServlet
Pourquoi?
- Abstraction de la technologie Servlet.
- Faire du java sans avoir à écrire du code java.
36
CYCLE DE VIE D’UNE JSP
37
HTTP
Méthodes HTTP
• Mots qu'utilise le navigateur pour poser des questions au serveur
38
CONTENEURS DE SERVLETS
Contient la requête HTTP, et donne accès à
toutes ses informations: les en-têtes Initialise la réponse HTTP qui sera renvoyée au
(headers) et le corps de la requête. client, et permet de la personnaliser, en
initialisant par exemple les en-têtes et le corps
le conteneur de
servlets va les
transmettre à votre
application, et plus
précisément aux
servlets.
39
CRÉATION D’UNE SERVLET
Définition
Classe capable de recevoir une requête HTTP envoyée depuis le navigateur de l'utilisateur, et de lui
renvoyer une réponse HTTP.
Remarque:
Une servlet est capable de gérer n'importe quel type de requête, mais dans les faits il s'agit
principalement de requêtes HTTP
40
CRÉATION D’UNE SERVLET
41
CRÉATION D’UNE SERVLET
Class HttpServlet:
• Classe abstraite,
• il est nécessaire de passer par une servlet qui en hérite.
• la classe propose les méthodes Java nécessaires au traitement des requêtes et réponses HTTP :
A retenir:
• Une servlet HTTP doit hériter de la classe abstraite HttpServlet ;
• Une servlet doit implémenterVoir Démonstration
au moins une des méthodes doXXX(), afin d'être capable de
traiter une requête entrante
42
MISE EN PLACE D’UNE SERVLET
Problème
Rendre une servlet accessible!
Solution
Configurer que notre servlet va être associée à une URL (le client la saisira, la requête HTTP sera
automatiquement aiguillée par notre conteneur de servlet vers la bonne servlet, celle qui est en charge de
répondre à cette requête)
Fichier Web.xml : Cœur de l’application ( paramètres qui contrôlent son cycle de vie)
Location: /WEB-INF
43
MISE EN PLACE D’UNE SERVLET
Définition de la Servlet
44
MISE EN PLACE D’UNE SERVLET
Mapping de la Servlet
• <servlet-name> permet de préciser le nom de la servlet à laquelle faire référence. Cette information
doit correspondre avec le nom défini dans la précédente déclaration de la servlet.
• <url-pattern> permet de préciser la ou les URL relatives au travers desquelles la servlet sera
accessible.
45
CRÉATION D’UNE SERVLET
Démonstration
46
CYCLE DE VIE D’UNE SERVLET
Instance de servlet
Gardée en
Servlet demandée créée (conteneur
mémoire
de servlet)
La même instance sera réutilisée pour chaque requête entrante dont les URL correspondent
au pattern d'URL défini pour la servlet.
Question:
l'instance d'une servlet est-elle créée lors du premier appel à cette servlet, ou bien dès le démarrage
du serveur ?
47
CYCLE DE VIE D’UNE SERVLET
<load-on-startup>N</load-on-startup>
48
ENVOYER DES DONNÉES AU CLIENT
49
SERVLET AVEC VUE
50
JSP (JAVA SERVER PAGES)
51
JSP (QUOI, POURQUOI)
52
CYCLE DE VIE D’UNE JSP
Traduire /
Compiler en une
JSP demandée Vérifier
classe héritante de
HttpServlet
Pourquoi?
- Abstraction de la technologie Servlet.
- Faire du java sans avoir à écrire du code java.
53
CYCLE DE VIE D’UNE JSP
54