30/03/2022
2021/2022
Université Abdelmalek Essaâdi
École Normale Supérieure
Tétouan
Filière: LP-LDW
Créez une application web
avec Java EE
BENDAHMANE AHMED
2021/2022
Université Abdelmalek Essaâdi
École Normale Supérieure
Tétouan
Les bases du Java EE
1
30/03/2022
INTRODUCTION AU JAVA EE
3
Qu'est-ce que Java EE ?
Qu'est-ce que Java EE ?
4
Le terme « Java EE » signifie Java Enterprise Edition
(anciennement «J2EE»).
2
30/03/2022
Qu'est-ce que Java EE ?
4
Le terme « Java EE » signifie Java Enterprise Edition
(anciennement «J2EE»).
la plate-forme Java EE est construite sur le langage Java et la
plate-forme Java SE.
Qu'est-ce que Java EE ?
4
Le terme « Java EE » signifie Java Enterprise Edition
(anciennement «J2EE»).
la plate-forme Java EE est construite sur le langage Java et la
plate-forme Java SE.
L'objectif majeur de Java EE est de faciliter le développement
d'applications web robustes et distribuées, déployées et
exécutées sur un serveur d'applications.
3
30/03/2022
Internet n'est pas le web!
5
L'internet est le réseau, le support physique de l'information. Pour
faire simple, c'est un ensemble de machines, de câbles et d'éléments
réseau en tout genre éparpillés sur la surface du globe;
Internet n'est pas le web!
5
L'internet est le réseau, le support physique de l'information. Pour
faire simple, c'est un ensemble de machines, de câbles et d'éléments
réseau en tout genre éparpillés sur la surface du globe;
Le web constitue une partie seulement du contenu accessible sur
l'internet.
4
30/03/2022
Internet n'est pas le web!
6
Un site web est un ensemble constitué de pages web (elles-mêmes faites de
fichiers HTML, CSS, Javascript, etc.).
Internet n'est pas le web!
6
Un site web est un ensemble constitué de pages web (elles-mêmes faites de
fichiers HTML, CSS, Javascript, etc.).
Lorsqu'on développe puis publie un site web, on met en réalité en ligne du
contenu sur internet. On distingue deux types de sites :
5
30/03/2022
Internet n'est pas le web!
6
Un site web est un ensemble constitué de pages web (elles-mêmes faites de
fichiers HTML, CSS, Javascript, etc.).
Lorsqu'on développe puis publie un site web, on met en réalité en ligne du
contenu sur internet. On distingue deux types de sites :
les sites internet statiques: ce sont des sites dont le contenu est « fixe », il
n'est modifiable que par le propriétaire du site. Ils sont réalisés à l'aide des
technologies HTML, CSS et Javascript uniquement.
Internet n'est pas le web!
6
Un site web est un ensemble constitué de pages web (elles-mêmes faites de
fichiers HTML, CSS, Javascript, etc.).
Lorsqu'on développe puis publie un site web, on met en réalité en ligne du
contenu sur internet. On distingue deux types de sites :
les sites internet statiques: ce sont des sites dont le contenu est « fixe », il
n'est modifiable que par le propriétaire du site. Ils sont réalisés à l'aide des
technologies HTML, CSS et Javascript uniquement.
les sites internet dynamiques: ce sont des sites dont le contenu est
« dynamique », parce que le propriétaire n'est plus le seul à pouvoir le faire
changer! En plus des langages précédemment cités, ils font intervenir
d'autres technologies : Java EE est l'une d'entre elles !
6
30/03/2022
Comment ça marche
7
Lorsqu'un utilisateur consulte un site, ce qui se passe en arrière plan est un
simple échange entre un client et un serveur:
Comment ça marche
7
Lorsqu'un utilisateur consulte un site, ce qui se passe en arrière plan est un
simple échange entre un client et un serveur:
le client: dans la plupart des cas, c'est le navigateur installé sur votre
ordinateur.
7
30/03/2022
Comment ça marche
7
Lorsqu'un utilisateur consulte un site, ce qui se passe en arrière plan est un
simple échange entre un client et un serveur:
le client: dans la plupart des cas, c'est le navigateur installé sur votre
ordinateur.
le serveur: c'est la machine sur laquelle le site est hébergé, où les fichiers
sont stockés et les pages web générées.
Comment ça marche
7
Lorsqu'un utilisateur consulte un site, ce qui se passe en arrière plan est un
simple échange entre un client et un serveur:
le client: dans la plupart des cas, c'est le navigateur installé sur votre
ordinateur.
le serveur: c'est la machine sur laquelle le site est hébergé, où les fichiers
sont stockés et les pages web générées.
8
30/03/2022
Comment ça marche
8
La communication qui s'effectue entre le client et le serveur est régie
par des règles bien définies: le protocole HTTP.
Comment ça marche
8
La communication qui s'effectue entre le client et le serveur est régie
par des règles bien définies: le protocole HTTP.
9
30/03/2022
Comment ça marche
8
La communication qui s'effectue entre le client et le serveur est régie
par des règles bien définies: le protocole HTTP.
1. l'utilisateur saisit une URL dans la barre d'adresses de son
navigateur;
Comment ça marche
8
La communication qui s'effectue entre le client et le serveur est régie
par des règles bien définies: le protocole HTTP.
1. l'utilisateur saisit une URL dans la barre d'adresses de son
navigateur;
2. le navigateur envoie alors une requête HTTP au serveur pour lui
demander la page correspondante;
10
30/03/2022
Comment ça marche
8
La communication qui s'effectue entre le client et le serveur est régie
par des règles bien définies: le protocole HTTP.
1. l'utilisateur saisit une URL dans la barre d'adresses de son
navigateur;
2. le navigateur envoie alors une requête HTTP au serveur pour lui
demander la page correspondante;
3. le serveur reçoit cette requête, l'interprète et génère alors une page
web qu'il va renvoyer au client par le biais d'une réponse HTTP;
Comment ça marche
8
La communication qui s'effectue entre le client et le serveur est régie
par des règles bien définies: le protocole HTTP.
1. l'utilisateur saisit une URL dans la barre d'adresses de son
navigateur;
2. le navigateur envoie alors une requête HTTP au serveur pour lui
demander la page correspondante;
3. le serveur reçoit cette requête, l'interprète et génère alors une page
web qu'il va renvoyer au client par le biais d'une réponse HTTP;
4. le navigateur reçoit, via cette réponse, la page web finale, qu'il
affiche alors à l'utilisateur.
11
30/03/2022
Comment ça marche
9
Ce qu'il faut comprendre et retenir de tout ça :
Comment ça marche
9
Ce qu'il faut comprendre et retenir de tout ça :
les données sont échangées entre le client et le serveur via le protocole
HTTP ;
12
30/03/2022
Comment ça marche
9
Ce qu'il faut comprendre et retenir de tout ça :
les données sont échangées entre le client et le serveur via le protocole
HTTP ;
le client ne comprend que les langages de présentation de l'information, en
d'autres termes les technologies HTML, CSS et Javascript ;
Comment ça marche
9
Ce qu'il faut comprendre et retenir de tout ça :
les données sont échangées entre le client et le serveur via le protocole
HTTP ;
le client ne comprend que les langages de présentation de l'information, en
d'autres termes les technologies HTML, CSS et Javascript ;
les pages sont générées sur le serveur de manière dynamique, à partir du
code source du site.
13
30/03/2022
Les langages du web
10
Les langages utilisés pour mettre en forme les données et les afficher à
l'utilisateur sont le HTML, le CSS et éventuellement le Javascript.
Ils ont une caractéristique commune importante : ils sont tous interprétés
par le navigateur (directement sur la machine client).
Les langages du web
10
Les langages utilisés pour mettre en forme les données et les afficher à
l'utilisateur sont le HTML, le CSS et éventuellement le Javascript.
Ils ont une caractéristique commune importante : ils sont tous interprétés
par le navigateur (directement sur la machine client).
Il existe plusieurs technologies capables de traiter les informations sur le
serveur:
14
30/03/2022
Les langages du web
10
Les langages utilisés pour mettre en forme les données et les afficher à
l'utilisateur sont le HTML, le CSS et éventuellement le Javascript.
Ils ont une caractéristique commune importante : ils sont tous interprétés
par le navigateur (directement sur la machine client).
Il existe plusieurs technologies capables de traiter les informations sur le
serveur:
Java EE est l'une d'entre elles, mais il en existe d'autres : PHP, .NET, Django
et Ruby on Rails…
Principes de fonctionnement
11
Serveur HTTP:
Il écoute tout ce qui arrive sur le port utilisé par le protocole HTTP, le
port 80, et examine chaque requête entrante.
Apache HTTP Server et IIS (Microsoft).
Un serveur HTTP de base ne peut pas gérer votre application!!?
15
30/03/2022
Principes de fonctionnement
11
Serveur HTTP:
Il écoute tout ce qui arrive sur le port utilisé par le protocole HTTP, le
port 80, et examine chaque requête entrante.
Apache HTTP Server et IIS (Microsoft).
Un serveur HTTP de base ne peut pas gérer votre application!!?
La plupart des serveurs HTTP sont devenus des serveurs web à
part entière, incluant des plugins qui les rendent capables de
supporter des langages de script comme le PHP, l'ASP, etc.
Principes de fonctionnement
12
Serveur d'applications:
Il va se charger d'exécuter le code en plus de faire le travail du serveur
HTTP.
C'est qu'un tel serveur inclut un serveur HTTP, et y ajoute la gestion
d'objets de diverses natures au travers d'un composant que nous allons pour
le moment nommer le conteneur.
16
30/03/2022
Principes de fonctionnement
12
Serveur d'applications:
Il va se charger d'exécuter le code en plus de faire le travail du serveur
HTTP.
C'est qu'un tel serveur inclut un serveur HTTP, et y ajoute la gestion
d'objets de diverses natures au travers d'un composant que nous allons pour
le moment nommer le conteneur.
1.récupérer les requêtes HTTP issues des clients ;
Principes de fonctionnement
[Link] mettre dans des boîtes, des objets, que le code sera
12 capable de manipuler;
[Link] passer ces objets dans la moulinette qu'est
Serveur d'applications:
l’application, via le conteneur;
Il va se charger d'exécuter
[Link] ledescode en plus
réponses HTTPdeauxfaire le travail
clients, du serveur
en se basant sur
HTTP. les objets retournés par le code.
C'est qu'un tel serveur inclut un serveur HTTP, et y ajoute la gestion
d'objets de diverses natures au travers d'un composant que nous allons pour
le moment nommer le conteneur.
17
30/03/2022
Principes de fonctionnement
13
Serveur d'applications: il existe plusieurs sur le marché:
Principes de fonctionnement
13
Serveur d'applications: il existe plusieurs sur le marché:
les solutions propriétaires et payantes : WebLogic et WebSphere,
respectivement issues de chez Oracle et IBM, sont les références dans
le domaine.
18
30/03/2022
Principes de fonctionnement
13
Serveur d'applications: il existe plusieurs sur le marché:
les solutions propriétaires et payantes : WebLogic et WebSphere,
respectivement issues de chez Oracle et IBM, sont les références dans
le domaine.
Massivement utilisées dans les banques et la finance notamment, elles sont à
la fois robustes, finement paramétrables et très coûteuses.
Principes de fonctionnement
13
Serveur d'applications: il existe plusieurs sur le marché:
les solutions propriétaires et payantes : WebLogic et WebSphere,
respectivement issues de chez Oracle et IBM, sont les références dans
le domaine.
Massivement utilisées dans les banques et la finance notamment, elles sont à
la fois robustes, finement paramétrables et très coûteuses.
les solutions libres et gratuites : Apache Tomcat, JBoss, GlassFish et
Jonas.
19
30/03/2022
Principes de fonctionnement
13
Serveur d'applications: il existe plusieurs sur le marché:
les solutions propriétaires et payantes : WebLogic et WebSphere,
respectivement issues de chez Oracle et IBM, sont les références dans
le domaine.
Massivement utilisées dans les banques et la finance notamment, elles sont à
la fois robustes, finement paramétrables et très coûteuses.
les solutions libres et gratuites : Apache Tomcat, JBoss, GlassFish et
Jonas.
Apache Tomcat: il est utilisé lors des phases de développement de
grands projets en entreprise. Il répond parfaitement à tous nos besoins
Le modèle MVC: en théorie
14
Qu'est-ce qu'un modèle de conception?
20
30/03/2022
Le modèle MVC: en théorie
14
Qu'est-ce qu'un modèle de conception?
Répond à un problème de conception d'une application.
C'est en quelque sorte une ligne de conduite qui permet
de décrire les grandes lignes d'une solution.
Le modèle MVC: en théorie
15
Que recommandent les développeurs Java EE expérimentés?
Java EE permet plus ou moins de coder son application comme on le
souhaite.
On peut coder n'importe comment!
21
30/03/2022
Le modèle MVC: en théorie
15
Que recommandent les développeurs Java EE expérimentés?
Java EE permet plus ou moins de coder son application comme on le
souhaite.
On peut coder n'importe comment!
Le développement en entreprise implique entre autres:
Le modèle MVC: en théorie
15
Que recommandent les développeurs Java EE expérimentés?
Java EE permet plus ou moins de coder son application comme on le
souhaite.
On peut coder n'importe comment!
Le développement en entreprise implique entre autres:
1. que l'on puisse être amené à travailler à plusieurs contributeurs sur un
même projet ou une même application (travail en équipe);
22
30/03/2022
Le modèle MVC: en théorie
15
Que recommandent les développeurs Java EE expérimentés?
Java EE permet plus ou moins de coder son application comme on le
souhaite.
On peut coder n'importe comment!
Le développement en entreprise implique entre autres:
1. que l'on puisse être amené à travailler à plusieurs contributeurs sur un
même projet ou une même application (travail en équipe);
2. que l'on puisse être amené à maintenir et corriger une application que
l'on n'a pas créée soi-même;
Le modèle MVC: en théorie
15
Que recommandent les développeurs Java EE expérimentés?
Java EE permet plus ou moins de coder son application comme on le
souhaite.
On peut coder n'importe comment!
Le développement en entreprise implique entre autres:
1. que l'on puisse être amené à travailler à plusieurs contributeurs sur un
même projet ou une même application (travail en équipe);
2. que l'on puisse être amené à maintenir et corriger une application que
l'on n'a pas créée soi-même;
3. que l'on puisse être amené à faire évoluer une application que l'on n'a
pas créée soi-même.
23
30/03/2022
Le modèle MVC: en théorie
16
Il est nécessaire d'adopter une architecture plus ou moins
standard, que tout développeur peut reconnaître.
Le modèle MVC: en théorie
16
Il est nécessaire d'adopter une architecture plus ou moins
standard, que tout développeur peut reconnaître.
le modèle MVC (Modèle-Vue-Contrôleur) permettait de
répondre à ces besoins, et qu'il s'appliquait particulièrement
bien à la conception d'applications Java EE.
24
30/03/2022
Le modèle MVC: en théorie
17
MVC découpe littéralement l'application en couches distinctes, et de ce
fait impacte très fortement l'organisation du code.
Le modèle MVC: en théorie
17
MVC découpe littéralement l'application en couches distinctes, et de ce
fait impacte très fortement l'organisation du code.
25
30/03/2022
Le modèle MVC: en théorie
17
MVC découpe littéralement l'application en couches distinctes, et de ce
fait impacte très fortement l'organisation du code.
tout ce qui concerne le traitement, le stockage et la mise à jour des données
de l'application doit être contenu dans la couche nommée "Modèle" (le M
de MVC);
Le modèle MVC: en théorie
17
MVC découpe littéralement l'application en couches distinctes, et de ce
fait impacte très fortement l'organisation du code.
tout ce qui concerne le traitement, le stockage et la mise à jour des données
de l'application doit être contenu dans la couche nommée "Modèle" (le M
de MVC);
tout ce qui concerne l'interaction avec l'utilisateur et la présentation des
données (mise en forme, affichage) doit être contenu dans la couche
nommée "Vue" (le V de MVC) ;
26
30/03/2022
Le modèle MVC: en théorie
17
MVC découpe littéralement l'application en couches distinctes, et de ce
fait impacte très fortement l'organisation du code.
tout ce qui concerne le traitement, le stockage et la mise à jour des données
de l'application doit être contenu dans la couche nommée "Modèle" (le M
de MVC);
tout ce qui concerne l'interaction avec l'utilisateur et la présentation des
données (mise en forme, affichage) doit être contenu dans la couche
nommée "Vue" (le V de MVC) ;
tout ce qui concerne le contrôle des actions de l'utilisateur et des données
doit être contenu dans la couche nommée "Contrôle" (le C de MVC).
Le modèle MVC: en pratique
18
Chaque projet présente ses propres contraintes, et amène le développeur à
faire des choix.
27
30/03/2022
Le modèle MVC: en pratique
18
Chaque projet présente ses propres contraintes, et amène le développeur à
faire des choix.
On observe énormément de variantes dès que l'on entre un peu plus dans le
détail de chacun de ces blocs.
Le modèle MVC: en pratique
18
Chaque projet présente ses propres contraintes, et amène le développeur à
faire des choix.
On observe énormément de variantes dès que l'on entre un peu plus dans le
détail de chacun de ces blocs.
Exemple: le sous-bloc représentant les données (la couche Modèle):
28
30/03/2022
Le modèle MVC: en pratique
18
Chaque projet présente ses propres contraintes, et amène le développeur à
faire des choix.
On observe énormément de variantes dès que l'on entre un peu plus dans le
détail de chacun de ces blocs.
Exemple: le sous-bloc représentant les données (la couche Modèle):
Quel est le type de stockage dont a besoin votre application ?
Le modèle MVC: en pratique
18
Chaque projet présente ses propres contraintes, et amène le développeur à
faire des choix.
On observe énormément de variantes dès que l'on entre un peu plus dans le
détail de chacun de ces blocs.
Exemple: le sous-bloc représentant les données (la couche Modèle):
Quel est le type de stockage dont a besoin votre application ?
Quelle est l'envergure de votre application ?
29
30/03/2022
Le modèle MVC: en pratique
18
Chaque projet présente ses propres contraintes, et amène le développeur à
faire des choix.
On observe énormément de variantes dès que l'on entre un peu plus dans le
détail de chacun de ces blocs.
Exemple: le sous-bloc représentant les données (la couche Modèle):
Quel est le type de stockage dont a besoin votre application ?
Quelle est l'envergure de votre application ?
Disposez-vous d'un budget ?
Le modèle MVC: en pratique
18
Chaque projet présente ses propres contraintes, et amène le développeur à
faire des choix.
On observe énormément de variantes dès que l'on entre un peu plus dans le
détail de chacun de ces blocs.
Exemple: le sous-bloc représentant les données (la couche Modèle):
Quel est le type de stockage dont a besoin votre application ?
Quelle est l'envergure de votre application ?
Disposez-vous d'un budget ?
La quantité de données produites par votre application va-t-elle être amenée à
fortement évoluer ?
30
30/03/2022
Le modèle MVC: en pratique
19
tous ces points sont autant de paramètres qui peuvent influencer la
conception de l’application, et donc le choix au niveau de
l'architecture.
détailler plus finement les blocs composant une application n'est
faisable qu'au cas par cas, et dépend fortement de l'utilisation ou non
de frameworks…
Qu'est-ce qu'un framework ?
20
Un ensemble de composants qui servent à créer l'architecture et les
grandes lignes d'une application.
31
30/03/2022
Qu'est-ce qu'un framework ?
20
Un ensemble de composants qui servent à créer l'architecture et les
grandes lignes d'une application.
comme une boîte à outils géante, conçue par un ou plusieurs développeurs et mise
à disposition d'autres développeurs, afin de faciliter leur travail.
Qu'est-ce qu'un framework ?
20
Un ensemble de composants qui servent à créer l'architecture et les
grandes lignes d'une application.
comme une boîte à outils géante, conçue par un ou plusieurs développeurs et mise
à disposition d'autres développeurs, afin de faciliter leur travail.
Il existe des frameworks dans beaucoup de langages et plate-formes, ce n'est pas un
concept propre à Java EE ni au développement web en particulier.
32
30/03/2022
Qu'est-ce qu'un framework ?
20
Un ensemble de composants qui servent à créer l'architecture et les
grandes lignes d'une application.
comme une boîte à outils géante, conçue par un ou plusieurs développeurs et mise
à disposition d'autres développeurs, afin de faciliter leur travail.
Il existe des frameworks dans beaucoup de langages et plate-formes, ce n'est pas un
concept propre à Java EE ni au développement web en particulier.
frameworks Java EE:
Qu'est-ce qu'un framework ?
20
Un ensemble de composants qui servent à créer l'architecture et les
grandes lignes d'une application.
comme une boîte à outils géante, conçue par un ou plusieurs développeurs et mise
à disposition d'autres développeurs, afin de faciliter leur travail.
Il existe des frameworks dans beaucoup de langages et plate-formes, ce n'est pas un
concept propre à Java EE ni au développement web en particulier.
frameworks Java EE:
JSF,
Spring,
Struts
Hibernate.
33
30/03/2022
Modèle: des traitements et des données
21
Les données et les traitements à appliquer à ces données.
Modèle: des traitements et des données
21
Les données et les traitements à appliquer à ces données.
Ce bloc contient:
34
30/03/2022
Modèle: des traitements et des données
21
Les données et les traitements à appliquer à ces données.
Ce bloc contient:
1. des objets Java, qui peuvent contenir des attributs (données)
2. des méthodes (traitements) qui leur sont propres,
3. un système capable de stocker des données.
Modèle: des traitements et des données
21
Les données et les traitements à appliquer à ces données.
Ce bloc contient:
1. des objets Java, qui peuvent contenir des attributs (données)
2. des méthodes (traitements) qui leur sont propres,
3. un système capable de stocker des données.
la complexité du code dépendra bien évidemment de la
complexité des traitements à effectuer par l’application.
35
30/03/2022
Vue: des pages JSP
22
Une page JSP est destinée à la vue.
Vue: des pages JSP
22
Une page JSP est destinée à la vue.
Elle est exécutée côté serveur et permet l'écriture de gabarits (pages en
langage "client" comme HTML, CSS, Javascript, XML, etc.).
36
30/03/2022
Vue: des pages JSP
22
Une page JSP est destinée à la vue.
Elle est exécutée côté serveur et permet l'écriture de gabarits (pages en
langage "client" comme HTML, CSS, Javascript, XML, etc.).
Elle permet au concepteur de la page d'appeler de manière transparente
des portions de code Java, via des balises et expressions ressemblant
fortement aux balises de présentation HTML.
Contrôleur: des servlets
23
Une servlet est un objet qui permet d'intercepter les requêtes faites par un
client, et qui peut personnaliser une réponse en conséquence.
Il fournit pour cela des méthodes permettant de examiner les requêtes HTTP.
37
30/03/2022
Contrôleur: des servlets
23
Une servlet est un objet qui permet d'intercepter les requêtes faites par un
client, et qui peut personnaliser une réponse en conséquence.
Il fournit pour cela des méthodes permettant de examiner les requêtes HTTP.
Cet objet n'agit jamais directement sur les données, il faut le voir comme
un simple aiguilleur :
Contrôleur: des servlets
23
Une servlet est un objet qui permet d'intercepter les requêtes faites par un
client, et qui peut personnaliser une réponse en conséquence.
Il fournit pour cela des méthodes permettant de examiner les requêtes HTTP.
Cet objet n'agit jamais directement sur les données, il faut le voir comme
un simple aiguilleur :
il intercepte une requête issue d'un client, appelle éventuellement des
traitements effectués par le modèle, et ordonne en retour à la vue d'afficher le
résultat au client.
38
30/03/2022
MVC avec Java EE
24
OUTILS ET ENVIRONNEMENT DE DÉVELOPPEMENT
25
Les avantages d'un IDE Eclipse dans le développement
d'applications web Java EE:
39
30/03/2022
OUTILS ET ENVIRONNEMENT DE DÉVELOPPEMENT
25
Les avantages d'un IDE Eclipse dans le développement
d'applications web Java EE:
• intégration des outils nécessaires au développement et au déploiement d'une
application;
• paramétrage aisé et centralisé des composants d'une application;
• multiples moyens de visualisation de l'architecture d'une application;
• génération automatique de portions de code;
• assistance à la volée lors de l'écriture du code;
• outils de débogage…
Téléchargement et installation
26
Eclipse IDE for Java EE Developers
40
30/03/2022
Téléchargement et installation
26
Eclipse IDE for Java EE Developers
ou
Téléchargement et installation
26
Eclipse IDE for Java EE Developers
ou
Ajouter des plugins (Eclipse for Java developers) afin d'y reproduire
l'intégration de l'environnement Java EE:
41
30/03/2022
Téléchargement et installation
26
Eclipse IDE for Java EE Developers
ou
Ajouter des plugins (Eclipse for Java developers) afin d'y reproduire
l'intégration de l'environnement Java EE:
depuis la fenêtre Eclipse :
Téléchargement et installation
26
Eclipse IDE for Java EE Developers
ou
Ajouter des plugins (Eclipse for Java developers) afin d'y reproduire
l'intégration de l'environnement Java EE:
depuis la fenêtre Eclipse :
Allez dans Help > Install New Software.
Choisissez le site "Indigo - [Link]
Déroulez "Web, XML, and Java EE Development".
Cochez alors "JST Server Adapters" et "JST Server Adapters
Extentions".
42
30/03/2022
Conseille
27
repartir d'une version vierge d'Eclipse pour Java EE.
Configuration: Modification de l'encodage par défaut
28
cliquez sur Window, puis Preferences
43
30/03/2022
Configuration: Modification de l'encodage par défaut
28
cliquez sur Window, puis Preferences
29
dans chaque section qui apparaît alors dans le volet de gauche, changez
l'encodage par défaut (il est généralement réglé à Cp1252 ou ISO-8859-1)
par la valeur UTF-8.
44
30/03/2022
29
dans chaque section qui apparaît alors dans le volet de gauche, changez
l'encodage par défaut (il est généralement réglé à Cp1252 ou ISO-8859-1)
par la valeur UTF-8.
29
dans chaque section qui apparaît alors dans le volet de gauche, changez
l'encodage par défaut (il est généralement réglé à Cp1252 ou ISO-8859-1)
par la valeur UTF-8.
45
30/03/2022
29
dans chaque section qui apparaît alors dans le volet de gauche, changez
l'encodage par défaut (il est généralement réglé à Cp1252 ou ISO-8859-1)
par la valeur UTF-8.
Configuration: Désactivation de la vérification de l'orthographe
30
cliquez sur Window, puis Preferences
General > Editors > Text Editors.
46
30/03/2022
Configuration: Désactivation de la vérification de l'orthographe
30
cliquez sur Window, puis Preferences
General > Editors > Text Editors.
dans le volet de droite cochez la case Show line numbers
Configuration: Désactivation de la vérification de l'orthographe
30
cliquez sur Window, puis Preferences
General > Editors > Text Editors.
dans le volet de droite cochez la case Show line numbers
47
30/03/2022
Configuration: Désactivation de la vérification de l'orthographe
30
cliquez sur Window, puis Preferences
General > Editors > Text Editors.
dans le volet de droite cochez la case Show line numbers
Configuration: Désactivation de la vérification de l'orthographe
30
cliquez sur Window, puis Preferences
General > Editors > Text Editors.
dans le volet de droite cochez la case Show line numbers
dans le volet de gauche, cliquez alors sur le sous-menu Spelling, et
dans le nouveau volet de droite qui apparaît, décochez la case Enable
spell checking
48
30/03/2022
Configuration: Désactivation de la vérification de l'orthographe
30
cliquez sur Window, puis Preferences
General > Editors > Text Editors.
dans le volet de droite cochez la case Show line numbers
dans le volet de gauche, cliquez alors sur le sous-menu Spelling, et
dans le nouveau volet de droite qui apparaît, décochez la case Enable
spell checking
Le serveur Tomcat
31
Assemblage d'un serveur web (gestion des requêtes/réponses
HTTP) et d'un conteneur web (conteneur de servlets)
49
30/03/2022
Le serveur Tomcat: Installation
32
téléchargez la version correspondant à votre système
d'exploitation
décompressez le contenu dans le répertoire où vous souhaitez
installer Tomcat.
choisissez un chemin dont les noms de dossiers ne comportent
pas d'espaces (un dossier nommé tomcat7 à la racine de
disque).
Le serveur Tomcat: Installation
32
téléchargez la version correspondant à votre système
d'exploitation
décompressez le contenu dans le répertoire où vous souhaitez
installer Tomcat.
choisissez un chemin dont les noms de dossiers ne comportent
pas d'espaces (un dossier nommé tomcat7 à la racine de
disque).
un dossier nommé webapps : c'est ici que seront stockées par
défaut les applications.
50
30/03/2022
Le serveur Tomcat: Installation
33
dans le dossier conf :
Le serveur Tomcat: Installation
33
dans le dossier conf :
[Link] : contient les éléments de configuration du serveur ;
51
30/03/2022
Le serveur Tomcat: Installation
33
dans le dossier conf :
[Link] : contient les éléments de configuration du serveur ;
[Link] : contient les directives communes à toutes les applications
web déployées sur le serveur;
Le serveur Tomcat: Installation
33
dans le dossier conf :
[Link] : contient les éléments de configuration du serveur ;
[Link] : contient les directives communes à toutes les applications
web déployées sur le serveur;
[Link] : contient l'identifiant et le mot de passe permettant
d'accéder à l'interface d'administration de votre serveur Tomcat;
52
30/03/2022
Le serveur Tomcat: Installation
33
dans le dossier conf :
[Link] : contient les éléments de configuration du serveur ;
[Link] : contient les directives communes à toutes les applications
web déployées sur le serveur;
[Link] : contient l'identifiant et le mot de passe permettant
d'accéder à l'interface d'administration de votre serveur Tomcat;
[Link] : contient les paramètres de configuration communs à toutes les
applications web déployées sur le serveur.
Création du projet web avec Eclipse
34
Sélectionnez Dynamic Web Project
puis cliquez sur Next
53
30/03/2022
Création du projet web avec Eclipse
34
Sélectionnez Dynamic Web Project
puis cliquez sur Next
Création du projet web avec Eclipse
35
Cliquez sur le bouton New Runtime
54
30/03/2022
Création du projet web avec Eclipse
35
Cliquez sur le bouton New Runtime
Création du projet web avec Eclipse
36
sélectionnez Apache Tomcat 7.0
55
30/03/2022
Création du projet web avec Eclipse
36
sélectionnez Apache Tomcat 7.0
Création du projet web avec Eclipse
37
sélectionnez Apache Tomcat 7.0
Cochez la case comme indiqué ci-dessus, ce
qui signifie que nous allons en plus du projet
créer localement une nouvelle instance d'un
serveur, instance que nous utiliserons par la
suite pour déployer l’application.
Cliquez ensuite sur Next
56
30/03/2022
Création du projet web avec Eclipse
37
sélectionnez Apache Tomcat 7.0
Cochez la case comme indiqué ci-dessus, ce
qui signifie que nous allons en plus du projet
créer localement une nouvelle instance d'un
serveur, instance que nous utiliserons par la
suite pour déployer l’application.
Cliquez ensuite sur Next
Création du projet web avec Eclipse
38
remplissez correctement les informations
relatives à l’installation de Tomcat en allant
chercher le répertoire d'installation de
Tomcat sur le poste.
57
30/03/2022
Création du projet web avec Eclipse
38
remplissez correctement les informations
relatives à l’installation de Tomcat en allant
chercher le répertoire d'installation de
Tomcat sur le poste.
Création du projet web avec Eclipse
39
cliquez sur Finish, puis deux fois sur Next
58
30/03/2022
Création du projet web avec Eclipse
39
cliquez sur Finish, puis deux fois sur Next
Création du projet web avec Eclipse ([Link])
40
[Link]: un fichier associé à toutes les applications.
il est possible de spécifier un contexte propre à chaque webapp.
ces applications web sont empiriquement contenues dans le dossier…
webapps de Tomcat Home.
C'est ici que, par défaut, Tomcat ira chercher les applications qu'il
doit gérer et déployer.
59
30/03/2022
Création du projet web avec Eclipse
41
Un projet créé depuis Eclipse, se trouve dans un répertoire de notre
workspace Eclipse:
il n'est pas du tout dans le répertoire webapps de Tomcat.
Création du projet web avec Eclipse
42
Pour que notre serveur prenne en compte notre future application, il
existe plusieurs solutions :
60
30/03/2022
Création du projet web avec Eclipse
42
Pour que notre serveur prenne en compte notre future application, il
existe plusieurs solutions :
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;
Création du projet web avec Eclipse
42
Pour que notre serveur prenne en compte notre future application, il
existe plusieurs solutions :
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 Tomcat Home comme workspace Eclipse;
61
30/03/2022
Création du projet web avec Eclipse
42
Pour que notre serveur prenne en compte notre future application, il
existe plusieurs solutions :
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 Tomcat Home comme workspace Eclipse;
3. modifier le [Link] ou le [Link] de Tomcat, afin qu'il sache où
chercher ;
Création du projet web avec Eclipse
42
Pour que notre serveur prenne en compte notre future application, il
existe plusieurs solutions :
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 Tomcat Home comme workspace Eclipse;
3. modifier le [Link] ou le [Link] de Tomcat, afin qu'il sache où
chercher ;
4. utiliser les propriétés d'un projet web dynamique sous Eclipse.
62
30/03/2022
Conseille
43
Utiliser la quatrième solution.
Conseille
43
Utiliser la quatrième solution.
Conservez le nom de votre projet sous Eclipse comme contexte de
déploiement sur le serveur Tomcat ("Context root").
63
30/03/2022
Conseille
43
Utiliser la quatrième solution.
Conservez le nom de votre projet sous Eclipse comme contexte de
déploiement sur le serveur Tomcat ("Context root").
Toute modification sur vos futures pages et classes sera ainsi
automatiquement prise en compte par le serveur Tomcat, qui s'occupera de
recharger le contexte à chaque modification sauvegardée, lorsque le serveur
sera lancé.
44
64
30/03/2022
45
Création du projet web avec Eclipse
46
sélectionner le serveur Tomcat que nous venons de mettre en place lors
de la création de notre projet web
préciser que l'on souhaite associer par défaut notre projet à ce serveur.
65
30/03/2022
Création du projet web avec Eclipse
46
sélectionner le serveur Tomcat que nous venons de mettre en place lors
de la création de notre projet web
préciser que l'on souhaite associer par défaut notre projet à ce serveur.
Création du projet web avec Eclipse
47
vérifiez que votre nouveau projet est
bien pris en compte par le serveur
66
30/03/2022
Création du projet web avec Eclipse
47
vérifiez que votre nouveau projet est
bien pris en compte par le serveur
Création du projet web avec Eclipse
47
vérifiez que votre nouveau projet est
bien pris en compte par le serveur
la mise en place de votre projet et de
son serveur terminée
67
30/03/2022
Création du projet web avec Eclipse
48
pour piloter le serveur Tomcat il suffira de vous rendre dans l'onglet
Servers en bas de la fenêtre Eclipse, et d'utiliser un des boutons selon
le besoin (redémarrage, arrêt, debug):
Création du projet web avec Eclipse
48
pour piloter le serveur Tomcat il suffira de vous rendre dans l'onglet
Servers en bas de la fenêtre Eclipse, et d'utiliser un des boutons selon
le besoin (redémarrage, arrêt, debug):
68
30/03/2022
Création du projet web avec Eclipse
49
une fois que vous avez correctement paramétré un serveur Tomcat
depuis Eclipse, vous n'êtes pas forcés de recréer localement un
nouveau serveur pour chacun de vos projets.
Création du projet web avec Eclipse
49
une fois que vous avez correctement paramétré un serveur Tomcat
depuis Eclipse, vous n'êtes pas forcés de recréer localement un
nouveau serveur pour chacun de vos projets.
vous pouvez très bien réutiliser la même instance de Tomcat en y
déployant plusieurs applications web différentes.
69
30/03/2022
Structure d'une application Java EE
50
Structure standard:
Structure d'une application Java EE
50
Structure standard:
Toute application web Java EE doit respecter une structure de
dossiers standard, qui est définie dans les spécifications de la plate-
forme.
70
30/03/2022
Structure d'une application Java EE
50
Structure standard:
Toute application web Java EE doit respecter une structure de
dossiers standard, qui est définie dans les spécifications de la plate-
forme.
Structure des fichiers d'une application web JSP/Servlet:
Structure d'une application Java EE
50
Structure standard:
Toute application web Java EE doit respecter une structure de
dossiers standard, qui est définie dans les spécifications de la plate-
forme.
Structure des fichiers d'une application web JSP/Servlet:
71
30/03/2022
La racine de l'application, est le dossier qui porte le
Structure d'une application Java EE
nom de votre projet et qui contient l'intégralité des
dossiers et fichiers de l'application.
50
Structure standard:
Toute application web Java EE doit respecter une structure de
dossiers standard, qui est définie dans les spécifications de la plate-
forme.
Structure des fichiers d'une application web JSP/Servlet:
Structure d'une application Java EE
50
Structure standard:
Toute application web Java EE doit respecter une structure de
dossiers standard, qui est définie dans les spécifications de la plate-
forme.
Structure des fichiers d'une application web JSP/Servlet:
72
30/03/2022
Le dossier nommé WEB-INF est un dossier spécial. Il doit obligatoirement exister et être placé
Structure d'une application Java EE
juste sous la racine de l'application. Il doit à son tour obligatoirement contenir :
1. le fichier de configuration de l'application ([Link]) ;
2.
50 un dossier nommé classes, qui contient à son tour les classes compilées (fichiers .class) ;
3. un dossier nommé lib, qui contient à son tour les bibliothèques nécessaires au projet
Structure
(archives standard:
.jar).
Toute application web Java EE doit respecter une structure de
dossiers standard, qui est définie dans les spécifications de la plate-
forme.
Structure des fichiers d'une application web JSP/Servlet:
Structure d'une application Java EE
50
Structure standard:
Toute application web Java EE doit respecter une structure de
dossiers standard, qui est définie dans les spécifications de la plate-
forme.
Structure des fichiers d'une application web JSP/Servlet:
73
30/03/2022
Les fichiers et dossiers persos placés directement sous la racine,
Structure d'une application Java EE
en bleu sur le schéma, sont publics et donc accessibles
directement par le client via leurs URL. (*)
50
Structure standard:
Toute application web Java EE doit respecter une structure de
dossiers standard, qui est définie dans les spécifications de la plate-
forme.
Structure des fichiers d'une application web JSP/Servlet:
Structure d'une application Java EE
50
Structure standard:
Toute application web Java EE doit respecter une structure de
dossiers standard, qui est définie dans les spécifications de la plate-
forme.
Structure des fichiers d'une application web JSP/Servlet:
74
30/03/2022
Structure d'une
Les fichiers application
et dossiers JavaWEB-INF,
persos placés sous le répertoire EE en orange
50 sur le schéma, sont privés et ne sont donc pas accessibles directement par le
client. (*)
Structure standard:
Toute application web Java EE doit respecter une structure de
dossiers standard, qui est définie dans les spécifications de la plate-
forme.
Structure des fichiers d'une application web JSP/Servlet:
Structure d'une
Les fichiers application
et dossiers JavaWEB-INF,
persos placés sous le répertoire EE en orange
50 sur le schéma, sont privés et ne sont donc pas accessibles directement par le
client. (*)
Structure standard:
Toute application web Java EE doit respecter une structure de
dossiers standard, qui est définie dans les spécifications de la plate-
forme.
Structure des fichiers d'une application web JSP/Servlet:
si l’application n'est pas organisée de cette manière,
le serveur d'applications ne sera pas capable de la
déployer ni de la faire fonctionner correctement.
75
30/03/2022
Structure des fichiers d'une application web sous Eclipse
51
Structure des fichiers d'une application web sous Eclipse
51
76
30/03/2022
Structure des fichiers d'une application web sous Eclipse
51
Déplace la structure standard de
l'application vers un dossier
nommé WebContent
Structure des fichiers d'une application web sous Eclipse
51
Déplace la structure standard de
l'application vers un dossier
nommé WebContent
Ajoute sous la racine un dossier
src qui contiendra le code source
de vos classes (les fichiers .java).
77
30/03/2022
Structure des fichiers d'une application web sous Eclipse
51
Déplace la structure standard de
l'application vers un dossier
nommé WebContent
Ajoute sous la racine un dossier
src qui contiendra le code source
de vos classes (les fichiers .java).
Si l’application n'était pas
correctement structurée, le serveur
d'applications ne saurait pas la
gérer.
Structure des fichiers d'une application web sous Eclipse
52
Le dossier WebContent n'existe légitimement qu'au sein d'Eclipse.
78
30/03/2022
Structure des fichiers d'une application web sous Eclipse
52
Le dossier WebContent n'existe légitimement qu'au sein d'Eclipse.
Si vous développez sans IDE, ce répertoire ne doit pas exister et votre
application doit impérativement suivre la structure standard.
Structure des fichiers d'une application web sous Eclipse
52
Le dossier WebContent n'existe légitimement qu'au sein d'Eclipse.
Si vous développez sans IDE, ce répertoire ne doit pas exister et votre
application doit impérativement suivre la structure standard.
Si vous souhaitez utiliser votre application en dehors de l'IDE, il
faudra obligatoirement utiliser l'outil d'export proposé par Eclipse.
79
30/03/2022
Structure des fichiers d'une application web sous Eclipse
52
Le dossier WebContent n'existe légitimement qu'au sein d'Eclipse.
Si vous développez sans IDE, ce répertoire ne doit pas exister et votre
application doit impérativement suivre la structure standard.
Si vous souhaitez utiliser votre application en dehors de l'IDE, il
faudra obligatoirement utiliser l'outil d'export proposé par Eclipse.
Réaliser un simple copier-coller des dossiers ne fonctionnera pas en
dehors d'Eclipse!
Création d'une page web
53
placer la première page HTML dans
le dossier public, c'est-à-dire sous le
dossier WebContent:
80
30/03/2022
Création d'une page web
53
placer la première page HTML dans
le dossier public, c'est-à-dire sous le
dossier WebContent:
1. tapez Ctrl + N, puis cherchez HTML
File dans le dossier Web de
l'arborescence.
Création d'une page web
53
placer la première page HTML dans
le dossier public, c'est-à-dire sous le
dossier WebContent:
1. tapez Ctrl + N, puis cherchez HTML
File dans le dossier Web de
l'arborescence.
81
30/03/2022
Création d'une page web
53
placer la première page HTML dans
le dossier public, c'est-à-dire sous le
dossier WebContent:
1. tapez Ctrl + N, puis cherchez HTML
File dans le dossier Web de
l'arborescence.
2. Sélectionnez ensuite le dossier parent,
en l'occurrence le dossier WebContent
de votre projet,
3. donnez un nom ([Link]) à votre
page et enfin validez.
Création d'une page web
53
placer la première page HTML dans
le dossier public, c'est-à-dire sous le
dossier WebContent:
1. tapez Ctrl + N, puis cherchez HTML
File dans le dossier Web de
l'arborescence.
2. Sélectionnez ensuite le dossier parent,
en l'occurrence le dossier WebContent
de votre projet,
3. donnez un nom ([Link]) à votre
page et enfin validez.
82
30/03/2022
Création d'une page web
54
Création d'une page web
54
1. Remplacez alors le code
automatiquement généré par Eclipse
83
30/03/2022
Création d'une page web
54
1. Remplacez alors le code <!DOCTYPE html>
automatiquement généré par Eclipse <html>
<head>
<meta charset="utf-8" />
<title>Test</title>
</head>
<body>
<p>Ceci est une page HTML.</p>
</body>
</html>
Création d'une page web
54
1. Remplacez alors le code <!DOCTYPE html>
automatiquement généré par Eclipse <html>
<head>
2. lancez le serveur Tomcat <meta charset="utf-8" />
<title>Test</title>
</head>
<body>
<p>Ceci est une page HTML.</p>
</body>
</html>
84
30/03/2022
Création d'une page web
54
1. Remplacez alors le code <!DOCTYPE html>
automatiquement généré par Eclipse <html>
<head>
2. lancez le serveur Tomcat <meta charset="utf-8" />
3. Ouvrez le navigateur, et entrez l'URL <title>Test</title>
suivante : </head>
<body>
<p>Ceci est une page HTML.</p>
</body>
</html>
Création d'une page web
54
1. Remplacez alors le code <!DOCTYPE html>
automatiquement généré par Eclipse <html>
<head>
2. lancez le serveur Tomcat <meta charset="utf-8" />
3. Ouvrez le navigateur, et entrez l'URL <title>Test</title>
suivante : </head>
<body>
[Link] <p>Ceci est une page HTML.</p>
</body>
</html>
85