JAVA EE
Chapitre 3
Modèle MVC
PROF
M. Konaté
1
Présentation
• Le modèle MVC (Model View Controler) a été
initialement développé pour le langage Smalltalk dans le
but de mieux structurer une application avec une
interface graphique.
• Il découpe littéralement l'application en couches
distinctes, et de ce fait impacte très fortement
l'organisation du code.
• Ce modèle est un concept d'architecture qui propose une
séparation en trois entités des données, des traitements
et de l'interface.
2
Présentation
• le Modèle représente les données de l'application
généralement stockées dans une base de données;
• la Vue correspond à l'IHM (Interface Homme Machine);
• le Contrôleur assure les échanges entre la vue et le
modèle notamment grâce à des composants métiers.
• L'utilisation du modèle MVC rend un peu plus
compliqué le développement de l'application qui le met
en œuvre mais il permet une meilleure structuration de
celle-ci.
3
Cas pratique du MVC
4
Modèle : des traitements et des données
• Dans le modèle, on trouve à la fois les données et les
traitements à appliquer à ces données.
• Ce bloc contient donc des objets Java d'une part, qui
peuvent contenir des attributs (données) et des méthodes
(traitements) qui leur sont propres, et un système
capable de stocker des données d'autre part.
5
Vue : des pages JSP
• Une page JSP est destinée à la vue. Elle est exécutée côté
serveur et permet l'écriture des 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.
6
Contrôleur : des servlets
• 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 scruter
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.
7
MVC en schéma
8
Conclusion
• Le modèle de conception MVC impose une répartition
stricte des tâches au sein d'une application :
– la couche Modèle se charge des traitements à effectuer sur les
données et de leur stockage ;
– la couche Vue se charge de la présentation des données pour
l'utilisateur ;
– la couche Contrôle se charge d'aiguiller les requêtes entrantes
vers les traitements et vues correspondants.
• Dans une application Java EE sans frameworks :
– la couche Modèle est constituée d'objets Java ;
– la couche Vue est constituée de pages JSP ;
– la couche Contrôle est constituée de servlets.
9
Questions…
10