0% ont trouvé ce document utile (0 vote)
39 vues85 pages

JavaEE ch1

Le document présente une introduction à Java EE. Il définit Java EE et explique la différence entre internet et le web. Il décrit également comment fonctionne la communication entre un client et un serveur via le protocole HTTP lorsqu'un utilisateur consulte un site web.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
39 vues85 pages

JavaEE ch1

Le document présente une introduction à Java EE. Il définit Java EE et explique la différence entre internet et le web. Il décrit également comment fonctionne la communication entre un client et un serveur via le protocole HTTP lorsqu'un utilisateur consulte un site web.
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi