Vous êtes sur la page 1sur 42

Université Sultan Moulay Slimane

ENSA Khouribga

Informatique et Ingénierie des Données

Java Entreprise Edition (JEE)


Chapitre 1 : Généralités sur JEE

Pr. Ibtissam Bakkouri


i.bakkouri@usms.ma

Année Universitaire : 2022/2023


Rappel sur Java
Java Entreprise Edition (JEE)
Modèle-Vue-Contrôleur (MVC)

Plan

1 Rappel sur Java

2 Java Entreprise Edition (JEE)

3 Modèle-Vue-Contrôleur (MVC)

Pr. Ibtissam Bakkouri ENSA Khouribga 2/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Introduction au langage Java

Le langage Java est un langage généraliste de programmation


synthétisant les principaux langages existants lors de sa création en
1995 par Sun Microsystems. Il permet une programmation
orientée-objet, modulaire et reprend une syntaxe très proche de
celle du langage C.

Ses caractéristiques ainsi que la richesse de son écosystème et de


sa communauté lui ont permis d’être très largement utilisé pour le
développement d’applications de types très disparates.

Java est notamment largement utilisé pour le développement


d’applications d’entreprises et mobiles.

Pr. Ibtissam Bakkouri ENSA Khouribga 3/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Introduction au langage Java

Outre son orientation objet, le langage Java a l’avantage d’être :


Modulaire : On peut écrire des portions de code génériques,
c’est-à-dire utilisables par plusieurs applications.
Rigoureux : La plupart des erreurs se produisent à la compi-
lation et non à l’exécution.
Portable : Un même programme compilé peut s’exécuter sur
différents environnements.
Efficace : Les compilateurs à la volée (JIT) la rendent presque
aussi rapide que des programmes compilés classiques.
Simple : Plus simple que C++. Il ne possède pas de pointeurs
visibles au niveau de la programmation.

Pr. Ibtissam Bakkouri ENSA Khouribga 4/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Introduction au langage Java

Sûr : la sécurité fait partie intégrante du système d’exécution


et du compilateur.
Fortement typé : Toutes les variables sont typées et il n’existe
pas de conversion automatique qui risquerait une perte de don-
nées.
Multitâche : Il permet l’utilisation de threads qui sont des
unités d’exécutions isolées. La JVM, elle même, utilise plusieurs
threads.
Réparti : Il possède une bibliothèque riche pour l’accès aux
URL, pour la programmation client/serveur via des sockets,
pour l’exécution de méthodes distantes, et pour la gestion de
serveurs Web via les Servlets.

Pr. Ibtissam Bakkouri ENSA Khouribga 5/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Environnement Java

JDK
JRE Javac
Java
Jar
Javadoc
Classes principales
...
JVM
Fichiers de support

JDK : Java Development Kit  JRE : Java Runtime Environment  JVM : Java Virtual Machine

Pr. Ibtissam Bakkouri ENSA Khouribga 6/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Environnement Java

L’environnement Java se compose de :


Java Development Kit (JDK) est un environnement de développe-
ment logiciel utilisé pour développer des applications et des
applets Java. Il comprend l’environnement d’exécution Java
(JRE), un interpréteur/chargeur (Java), un compilateur (javac),
un archiveur (jar), un générateur de documentation (Javadoc)
et d’autres outils nécessaires au développement Java.

Pr. Ibtissam Bakkouri ENSA Khouribga 7/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Environnement Java

Java Runtime Environment (JRE) est un package d’installation


qui fournit un environnement permettant uniquement d’exécuter
(et non de développer) le programme Java sur votre machine.
JRE n’est utilisé que par ceux qui souhaitent uniquement exé-
cuter des programmes Java qui sont des utilisateurs finaux de
votre système. Il se compose de la machine virtuelle Java
(JVM), des classes principales et des fichiers de support.
Java Virtual Machine (JVM) est une partie très importante
de JDK et de JRE car elle est contenue ou intégrée dans les
deux. JVM est responsable de l’exécution du programme Java
ligne par ligne. Il est donc également appelé interpréteur.

Pr. Ibtissam Bakkouri ENSA Khouribga 8/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Exécution du code Java

Java est un langage compilé et interprété, ce qui signifie qu’un


programme compilé n’est pas directement exécutable par le
système d’exploitation mais il doit être interprété par un autre
programme, qu’on appelle interpréteur.

Un programmeur Java écrit son code source, sous la forme de


classes, dans des fichiers dont l’extension est .java. Ce code source
est alors compilé par le compilateur javac en un langage appelé
bytecode et enregistre le résultat dans un fichier dont l’extension
est .class.

Pr. Ibtissam Bakkouri ENSA Khouribga 9/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Exécution du code Java

Le bytecode ainsi obtenu n’est pas directement utilisable. Il doit


être interprété par la machine virtuelle de Java qui transforme alors
le code compilé en code machine compréhensible par le système
d’exploitation.

C’est la raison pour laquelle Java est un langage portable : le


bytecode reste le même quelque soit l’environnement d’exécution.

Pr. Ibtissam Bakkouri ENSA Khouribga 10/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Programmation Orientée Objet


La programmation orientée objet est un modèle de langage de pro-
grammation qui s’articule autour d’objets et de données, plutôt que
d’actions et de logique. C’est-à-dire, elle propose une méthodologie
centrée sur les données.

Il s’agit de produire des programmes avec des exigences de qual-


ité qu’on tente de mesurer suivant certains critères, notamment :
L’exactitude : aptitude d’un programme à fournir les résultats
voulus, dans des conditions normales d’utilisation.
La robustesse : aptitude à bien réagir lorsque l’on s’écarte des
conditions normales d’utilisation.
L’extensibilité : facilité avec laquelle un programme pourra
être adapté pour satisfaire à une évolution des spécifications.

Pr. Ibtissam Bakkouri ENSA Khouribga 11/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Programmation Orientée Objet

La réutilisabilité : possibilité d’utiliser certaines parties du


programme pour résoudre un autre problème.
La portabilité : facilité avec laquelle on peut exploiter un
même programme dans différentes implémentations.
L’efficience : temps d’exécution réduit.
La programmation orientée objet introduit de nouveaux concepts,
en particulier ceux d’objets, de classe, d’encapsulation, d’héritage,
et de polymorphisme.

Pr. Ibtissam Bakkouri ENSA Khouribga 12/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Concepts d’objet

L’Objet est une unité de base de la programmation orientée


objet et représente les entités de la vie réelle.
L’Objet est une association des données et des procédures (qu’on
appelle alors méthodes) agissant sur ces données.
Un objet est une instance de classe, la création d’objets s’appelle
donc l’instanciation.

Méthodes + Données = Objet

Pr. Ibtissam Bakkouri ENSA Khouribga 13/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Concept de classe

Le concept de classe correspond simplement à la généralisation de


la notion de type que l’on rencontre dans les langages classiques.

En effet, une classe n’est rien d’autre que la description d’un


ensemble d’objets ayant une structure de données commune et
disposant des mêmes méthodes.

Les objets apparaissent alors comme des variables d’un tel type
classe.

On dit aussi qu’un objet est une instance de sa classe.

Pr. Ibtissam Bakkouri ENSA Khouribga 14/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Encapsulation

L’encapsulation signifie qu’il n’est pas possible d’agir directement


sur les données d’un objet, il est nécessaire de passer par
l’intermédiaire de ses méthodes.

Elle réalise une abstraction des données. Ce qui exprime bien que
les détails concrets d’implémentation sont cachés.

L’encapsulation des données présente un intérêt manifeste en


matière de qualité de logiciel. Elle facilite considérablement la
maintenance.

Pr. Ibtissam Bakkouri ENSA Khouribga 15/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Héritage

L’héritage permet de définir une nouvelle classe à partir d’une


classe existante, à laquelle on ajoute de nouvelles données et de
nouvelles méthodes.

La conception de la nouvelle classe, qui hérite des propriétés et des


aptitudes de l’ancienne, peut ainsi s’appuyer sur des réalisations
antérieures parfaitement au point et les spécialiser à volonté.

L’héritage facilite largement la réutilisation de produits existants,


d’autant plus qu’il peut être réitéré autant de fois que nécessaire.

Pr. Ibtissam Bakkouri ENSA Khouribga 16/42


Rappel sur Java Présentation de Java
Java Entreprise Edition (JEE) Exécution du code Java
Modèle-Vue-Contrôleur (MVC) Programmation Orientée Objet (POO)

Polymorphisme

Une classe dérivée peut redéfinir certaines des méthodes héritées


de sa classe de base.

Cette possibilité est la clé de ce que l’on nomme le polymorphisme,


c’est-à-dire la possibilité de traiter de la même manière des objets
de types différents, pour peu qu’ils soient tous de classes dérivées
de la même classe de base.

Alors, le polymorphisme est la capacité de choisir dynamiquement


la méthode qui correspond au type réel de l’objet.

Pr. Ibtissam Bakkouri ENSA Khouribga 17/42


Présentation de JEE
Rappel sur Java
Conteneurs JEE
Java Entreprise Edition (JEE)
Composants JEE
Modèle-Vue-Contrôleur (MVC)
Services JEE

Qu’est-ce que Java Entreprise Edition?

Java Entreprise Edition (JEE) :


Représente essentiellement des applications d’entreprise.
Est un ensemble de technologies pour construire des applica-
tions réparties.
Est une plate-forme fortement orientée serveur pour le développe-
ment et l’exécution d’applications distribuées.
Fournit un ensemble d’extensions au Java standard afin de fa-
ciliter la création d’applications centralisées.
Les applications d’entreprise peuvent avoir des interfaces utilisa-
teurs multiples (interface web accessible sur Internet et une interface
graphique sur le réseau local).

Pr. Ibtissam Bakkouri ENSA Khouribga 18/42


Présentation de JEE
Rappel sur Java
Conteneurs JEE
Java Entreprise Edition (JEE)
Composants JEE
Modèle-Vue-Contrôleur (MVC)
Services JEE

Architecture JEE

Conteneur JEE

Composants 

Services JEE

Les applications JEE se composent de composants, de con-


teneurs et de services.
Les composants sont des composants de niveau application. Les
composants Web tels que les servlets et les JSP (Java server
Page), fournissent des réponses dynamiques aux requêtes des
pages Web.
Pr. Ibtissam Bakkouri ENSA Khouribga 19/42
Présentation de JEE
Rappel sur Java
Conteneurs JEE
Java Entreprise Edition (JEE)
Composants JEE
Modèle-Vue-Contrôleur (MVC)
Services JEE

Architecture JEE

Conteneur JEE

Composants 

Services JEE

Les composants EJB (Enterprise JavaBeans) contiennent une


logique applicative côté serveur pour les applications d’entreprise.
Les conteneurs de composants Web et EJB hébergent des ser-
vices prenant en charge les modules Web et EJB.

Pr. Ibtissam Bakkouri ENSA Khouribga 20/42


Présentation de JEE
Rappel sur Java
Conteneurs JEE
Java Entreprise Edition (JEE)
Composants JEE
Modèle-Vue-Contrôleur (MVC)
Services JEE

Architecture JEE

JEE est Typiquement une architecture 3-tiers :


Tiers présentation : affichage des données.
Tiers métier : gestion du métier de l’application.
Tiers donnée : persistance des données.
JEE permet une séparation claire entre :
L’interface homme-machine.
Les traitements métiers.
Les données.

Pr. Ibtissam Bakkouri ENSA Khouribga 21/42


Présentation de JEE
Rappel sur Java
Conteneurs JEE
Java Entreprise Edition (JEE)
Composants JEE
Modèle-Vue-Contrôleur (MVC)
Services JEE

Conteneurs JEE

Les conteneurs assurent la gestion du cycle de vie des composants


qui s’exécutent en eux.

Les conteneurs fournissent des services qui peuvent être utilisés par
les applications lors de leur exécution.

Il existe cinq types de conteneurs définit par JEE : JEE Serveur,


Conteneur web, Conteneur EJB, Conteneur Applet, et
Conteneur Client.

Pr. Ibtissam Bakkouri ENSA Khouribga 22/42


Présentation de JEE
Rappel sur Java
Conteneurs JEE
Java Entreprise Edition (JEE)
Composants JEE
Modèle-Vue-Contrôleur (MVC)
Services JEE

Conteneurs JEE

JEE Serveur : Logiciel fournisseur du conteneur Web et EJB.

Conteneur Web : Capable d’exécuter des pages JSP, Servlets et


programmes JSF (Java Server Faces). Ces composants s’exécutent
avec le conteneur serveur JEE.

Conteneur EJB : Responsable de la couche métier et de


l’exécution des EJB. Ce conteneur fournit le mécanisme de gestion
des EJB, la gestion de leur cycle de vie, les transactions, le service
de nommage et la possibilité des déclenchements asynchrones.

Pr. Ibtissam Bakkouri ENSA Khouribga 23/42


Présentation de JEE
Rappel sur Java
Conteneurs JEE
Java Entreprise Edition (JEE)
Composants JEE
Modèle-Vue-Contrôleur (MVC)
Services JEE

Conteneurs JEE

Conteneur Applet : Responsable de l’environnement d’exécution


des Applets Java.

Conteneur des Applications Clientes : Permet l’exécution


d’applications JEE. L’application de type client et son conteneur
sont lancés sur le client en simultané.

Pr. Ibtissam Bakkouri ENSA Khouribga 24/42


Présentation de JEE
Rappel sur Java
Conteneurs JEE
Java Entreprise Edition (JEE)
Composants JEE
Modèle-Vue-Contrôleur (MVC)
Services JEE

Composants JEE

Les composants permettent un découpage de l’application et donc


une séparation des rôles lors du développement.

Il existe trois types de composants définis par JEE:


Les composants clients sont des applications clientes (logiciel
installé en local ou navigateur Web ou Applets) s’exécutant sur
la machine des utilisateurs.
Les composants web sont les technologies Servlets, JavaServer
Pages (JSP) et Java Server Faces (JSF).
Les composants métier sont des composants Enterprises Jav-
aBeans (EJB) représentant la logique métier, s’exécutant sur le
serveur JEE et dialoguant avec la couche de stockage.

Pr. Ibtissam Bakkouri ENSA Khouribga 25/42


Présentation de JEE
Rappel sur Java
Conteneurs JEE
Java Entreprise Edition (JEE)
Composants JEE
Modèle-Vue-Contrôleur (MVC)
Services JEE

Services JEE

Une plateforme d’exécution JEE complète propose les services


suivants :
Plates-formes de système d’exploitation : assure la prise en
charge de base de tout processus exécuté sur l’ordinateur.
Transport réseau : assure la prise en charge réseau de base
pour les communications entre les composants d’application
distribués exécutés sur des ordinateurs différents.
Persistance : assure la prise en charge pour les accès et le
stockage des données statiques (informations sur l’utilisateur,
le répertoire ou la configuration) et des données d’application
dynamiques (informations fréquemment mises à jour).

Pr. Ibtissam Bakkouri ENSA Khouribga 26/42


Présentation de JEE
Rappel sur Java
Conteneurs JEE
Java Entreprise Edition (JEE)
Composants JEE
Modèle-Vue-Contrôleur (MVC)
Services JEE

Services JEE

Messagerie : assure la prise en charge de la communication


synchrone et asynchrone entre les composants d’application.
La messagerie synchrone correspond à l’envoi et à la réception
de messages en temps réel.
Exécution : assure la prise en charge requise par tout modèle
de composant distribué.
Sécurité et stratégie : assure la prise en charge des accès
sécurisés aux ressources d’application. Ces services incluent la
prise en charge des stratégies régissant les accès des groupes
ou les accès basés sur les rôles aux ressources distribuées, ainsi
que les possibilités de connexion unique.

Pr. Ibtissam Bakkouri ENSA Khouribga 27/42


Présentation de JEE
Rappel sur Java
Conteneurs JEE
Java Entreprise Edition (JEE)
Composants JEE
Modèle-Vue-Contrôleur (MVC)
Services JEE

Services JEE

Collaboration utilisateur : fournit des services qui jouent un


rôle essentiel dans la prise en charge de la communication di-
recte entre les utilisateurs et la collaboration entre les utilisa-
teurs d’environnements d’entreprise et Internet.
Intégration : fournit les services qui regroupent les services
d’exploitation existants. L’intégration peut également avoir lieu
sous forme d’interactions interentreprises entre différentes en-
treprises.
Ces services sont utilisés directement ou indirectement par les con-
teneurs mais aussi par les composants qui s’exécutent dans les con-
teneurs grâce à leurs API (Application Programming Interface)
respectives.

Pr. Ibtissam Bakkouri ENSA Khouribga 28/42


Contrôleur
Rappel sur Java
Modèle
Java Entreprise Edition (JEE)
Vue
Modèle-Vue-Contrôleur (MVC)

Modèle MVC

Le modèle MVC :
Est une architecture Modèle-Vue-Contrôleur.
Est un modèle de conception et de structuration d’une application.
Permet de décrire les grandes lignes d'une solution.
Permet de séparer les aspects action, données et présentation.
Permet de définir les interactions entre ces trois aspects.

Données Modèle
Présentation Vue
Action Contrôleur

Pr. Ibtissam Bakkouri ENSA Khouribga 29/42


Contrôleur
Rappel sur Java
Modèle
Java Entreprise Edition (JEE)
Vue
Modèle-Vue-Contrôleur (MVC)

Avantages du modèle MVC

Le modèle MVC offre :


Une meilleure organisation du code.
Une diminution de la complexité lors de la conception.
Une conception claire et efficace grâce à la séparation des don-
nées de la vue et du contrôleur.
La possibilité de réutilisation de code dans d’autres applications.
Un gain de temps de maintenance et d’évolution du site.
Une plus grande souplesse pour organiser le développement du
site entre différents développeurs.

Pr. Ibtissam Bakkouri ENSA Khouribga 30/42


Contrôleur
Rappel sur Java
Modèle
Java Entreprise Edition (JEE)
Vue
Modèle-Vue-Contrôleur (MVC)

Inconvénients du modèle MVC

Le modèle MCV augmente la complexité lors de l’implantation.


Il entraîne un éventuel cloisonnement des développeurs.
Le modèle MVC est une architecture complexe pour des petits
projets.
Le nombre important de fichiers représente une charge non nég-
ligeable dans un projet.

Pr. Ibtissam Bakkouri ENSA Khouribga 31/42


Contrôleur
Rappel sur Java
Modèle
Java Entreprise Edition (JEE)
Vue
Modèle-Vue-Contrôleur (MVC)

Modèle MVC

MVC découpe littéralement l'application en couches distinctes.

Client 1 Demande
Remarque!
2 Demande
Il est important de bien comprendre
3 Données
comment ces éléments s'agencent et 1 6
communiquent entre eux.  4 Données
Contrôleur 5 Présentation
2
4 6 Réponse
3 5

Modèle Vue

Pr. Ibtissam Bakkouri ENSA Khouribga 32/42


Contrôleur
Rappel sur Java
Modèle
Java Entreprise Edition (JEE)
Vue
Modèle-Vue-Contrôleur (MVC)

Contrôleur | Action

Contrôleur Client 1 Demande


Le contrôleur reçoit la requête du 2 Demande
client et contacte le modèle et la 3 Données
vue pour leur demander des 1 6
services. 4 Données
Contrôleur 5 Présentation
2
4 6 Réponse
3 5

Modèle Vue
Le rôle des contrôleurs est de récupérer les données utilisateurs, de les filtrer et de les contrôler,
de déclencher le traitement approprié (via le modèle), et finalement de déléguer la production
du document de sortie à la vue. 

Pr. Ibtissam Bakkouri ENSA Khouribga 33/42


Contrôleur
Rappel sur Java
Modèle
Java Entreprise Edition (JEE)
Vue
Modèle-Vue-Contrôleur (MVC)

Contrôleur | Action

Contrôleur Client 1 Demande


Comme schématisé sur la figure 2 Demande
suivante, le contrôleur sert presque 3 Données
uniquement à faire la jonction 1 6
entre le modèle et la vue.  4 Données
Contrôleur 5 Présentation
2
4 6 Réponse
3 5

Modèle Vue
Le code est segmenté selon ces trois sections : le modèle contient le code qui gère
la logique métier, la vue celui qui gère l'affichage, et le contrôleur gère le lien avec
l'utilisateur.

Pr. Ibtissam Bakkouri ENSA Khouribga 34/42


Contrôleur
Rappel sur Java
Modèle
Java Entreprise Edition (JEE)
Vue
Modèle-Vue-Contrôleur (MVC)

Modèle | Données

Modèle Client 1 Demande


Le fichier du contrôleur demande 2 Demande
les données au modèle sans se 3 Données
soucier de la façon dont celui-ci va 1 6
les récupérer.  4 Données
Contrôleur 5 Présentation
2
4 6 Réponse
3 5

Modèle Vue

Dans le modèle, on trouve à la fois les données et les traitements à appliquer à ces données.
Il implante les fonctionnalités de l’application, indépendamment des aspects interactifs. 

Pr. Ibtissam Bakkouri ENSA Khouribga 35/42


Contrôleur
Rappel sur Java
Modèle
Java Entreprise Edition (JEE)
Vue
Modèle-Vue-Contrôleur (MVC)

Vue | Présentation

Vue Client 1 Demande


Une fois les données récupérées, 2 Demande
le contrôleur les transmet à la 3 Données
vue.   1 6
4 Données
Contrôleur 5 Présentation
2
4 6 Réponse
3 5

Modèle Vue

La vue représente la représentation des données du modèle. Elle Assure la consistance entre


la représentation qu’elle donne et l’état du modèle ou bien le contexte de l’application.

Pr. Ibtissam Bakkouri ENSA Khouribga 36/42


Contrôleur
Rappel sur Java
Modèle
Java Entreprise Edition (JEE)
Vue
Modèle-Vue-Contrôleur (MVC)

Modèle MVC en Pratique

Sur le plan pratique :

Client 1 Demande
Contrôleur Servlets
2 Demande
Modèle Objet Java
3 Données
Vue Pages JSP 1 6
4 Données
Contrôleur 5 Présentation
2 (Servlets)
4 6 Réponse
3 5
Modèle Vue
(Objet Java) (Pages JSP)

Pr. Ibtissam Bakkouri ENSA Khouribga 37/42


Contrôleur
Rappel sur Java
Modèle
Java Entreprise Edition (JEE)
Vue
Modèle-Vue-Contrôleur (MVC)

Modèle MVC en Pratique

Servlets Client 1 Demande

Une servlet est un objet qui permet 2 Demande


d'intercepter les requêtes faites par 3 Données
un client, et qui peut personnaliser 1 6
une réponse en conséquence. 4 Données
Contrôleur 5 Présentation
2 (Servlets)
4 6 Réponse
3 5
Modèle Vue
(Objet Java) (Pages JSP)
Une servlet est une classe Java côté serveur qui reçoit des données HTTP et qui opère
un ou des traitements et devant respecter les contraintes de ce protocole HTTP. 
HTTP : Hypertext Transfer Protocol.

Pr. Ibtissam Bakkouri ENSA Khouribga 38/42


Contrôleur
Rappel sur Java
Modèle
Java Entreprise Edition (JEE)
Vue
Modèle-Vue-Contrôleur (MVC)

Modèle MVC en Pratique

Objet Java Client 1 Demande


Ce bloc contient des attributs et 2 Demande
des méthodes. 3 Données
1 6
4 Données
Contrôleur 5 Présentation
2 (Servlets)
4 6 Réponse
3 5
Modèle Vue
(Objet Java) (Pages JSP)
Il permet de traiter les données et de gérer les interactions avec la base de données.
Il met à disposition les méthodes de mise à jour de ces données telles que la création,
la suppression, la mise à jour ou la consultation.

Pr. Ibtissam Bakkouri ENSA Khouribga 39/42


Contrôleur
Rappel sur Java
Modèle
Java Entreprise Edition (JEE)
Vue
Modèle-Vue-Contrôleur (MVC)

Modèle MVC en Pratique

Pages JSP Client 1 Demande


La JSP (Java Server Pages) est une 2 Demande
technique basée sur Java qui
3 Données
permet de générer dynamiquement 1 6
du code HTML, XML ou tout 4 Données
autre type de page web.  Contrôleur 5 Présentation
2 (Servlets)
4 6 Réponse
3 5
Modèle Vue
(Objet Java) (Pages JSP)
Une page JSP 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.

Pr. Ibtissam Bakkouri ENSA Khouribga 40/42


Contrôleur
Rappel sur Java
Modèle
Java Entreprise Edition (JEE)
Vue
Modèle-Vue-Contrôleur (MVC)

Savoir et Retenir

Les contrôleurs sont des composants qui répondent aux re-


quêtes HTTP, ils ne contiennent pas de code métier ou d’éléments
de présentation.
Le modèle met en œuvre les fonctions métiers.
Une classe de modèle doit être entièrement indépendante d’un
contexte d’exécution (application web ou autre) ou de critères
de présentation.
Les vues s’occupent de l’affichage, rien de plus.

Pr. Ibtissam Bakkouri ENSA Khouribga 41/42


Contrôleur
Rappel sur Java
Modèle
Java Entreprise Edition (JEE)
Vue
Modèle-Vue-Contrôleur (MVC)

Travail à Rendre

Nous souhaitons créer une application de gestion de l’inscription des


étudiants en JEE suivant le modèle MVC. À travers de cette petite
application, l’utilisateur devra pouvoir créer un étudiant en saisissant
des données depuis un formulaire (Nom, Prénom, Date de naissance,
CIN, Numéro de téléphone, et Adresse email) et visualiser la fiche
étudiant en résultant. Votre travail sera de coder :
Un bean, représentant un étudiant.
Une servlet, chargée de récupérer les données envoyées par le
formulaire, de les enregistrer dans le bean et de les transmettre
à une JSP.
Une JSP, chargée d’afficher la fiche de l’étudiant créé, c’est-à-
dire les données transmises par la servlet.

Pr. Ibtissam Bakkouri ENSA Khouribga 42/42

Vous aimerez peut-être aussi