Qu'est-ce que MVC?
MVC est une architecture qui sépare la logique métier, la présentation et les données. Dans MVC,
- M signifie modèle
- V signifie vue
- C signifie contrôleur.
MVC est un moyen systématique d'utiliser l'application où le flux commence à partir de la couche de vue, où la demande est soulevée et traitée dans la couche contrôleur et envoyée à la couche modèle pour insérer des données et récupérer le message de réussite ou d'échec.
Couche de modèle:
- Il s'agit de la couche de données qui comprend la logique métier du système.
- Il se compose de toutes les données de l'application
- Il représente également l'état de l'application.
- Il se compose de classes qui ont la connexion à la base de données.
- Le contrôleur se connecte au modèle et récupère les données et les envoie à la couche de vue.
- Le modèle se connecte également à la base de données et stocke les données dans une base de données qui lui est connectée.
Afficher le calque:
- Ceci est une couche de présentation.
- Il se compose de HTML, JSP, etc.
- Il présente normalement l'interface utilisateur de l'application.
- Il est utilisé pour afficher les données qui sont extraites du contrôleur qui à son tour extrait les données des classes de couches de modèle.
- Cette couche de vue affiche les données sur l'interface utilisateur de l'application.
Couche de contrôleur:
- Il agit comme une interface entre la vue et le modèle.
- Il intercepte toutes les requêtes provenant de la couche de vue.
- Il reçoit les demandes de la couche vue et traite les demandes et effectue la validation nécessaire pour la demande.
- Ces demandes sont ensuite envoyées à la couche modèle pour le traitement des données, et une fois la demande traitée, elles sont renvoyées au contrôleur avec les informations requises et affichées en conséquence par la vue.
Le diagramme est représenté ci-dessous:
Les avantages de MVC sont:
- Facile à maintenir
- Facile à étendre
- Facile à tester
- Le contrôle de la navigation est centralisé
Exemple d'architecture MVC
Dans cet exemple, nous allons montrer comment utiliser l'architecture MVC dans JSP.
- Nous prenons l'exemple d'un formulaire avec deux variables "email" et "password" qui est notre couche de vue.
- Une fois que l'utilisateur entre l'email et le mot de passe et clique sur Soumettre, l'action est transmise dans mvc_servlet où l'email et le mot de passe sont transmis.
- Ce mvc_servlet est la couche contrôleur. Ici, dans mvc_servlet, la requête est envoyée à l'objet bean qui agit comme couche de modèle.
- Les valeurs de courrier électronique et de mot de passe sont définies dans le bean et stockées à d'autres fins.
- À partir du bean, la valeur est extraite et affichée dans la couche de vue.
Mvc_example.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Exemple MVC Guru
Explication du code:
Afficher le calque:
Ligne de code 10-15: Ici, nous prenons un formulaire qui a deux champs comme paramètre "email" et "mot de passe" et cette requête doit être transmise à un contrôleur Mvc_servlet.java, qui est passé en action. est passé est la méthode POST.
Mvc_servlet.java
package demotest;import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/ *** Classe d'implémentation de servlet Mvc_servlet* /la classe publique Mvc_servlet étend HttpServlet {private static final long serialVersionUID = 1L;/ *** @see HttpServlet # HttpServlet ()* /public Mvc_servlet () {super();// TODO Stub de constructeur généré automatiquement}protected void doPost (requête HttpServletRequest, réponse HttpServletResponse) lève ServletException, IOException {// TODO Stub de méthode généré automatiquementString email = request.getParameter ("email");String password = request.getParameter ("password");TestBean testobj = nouveau TestBean ();testobj.setEmail (e-mail);testobj.setPassword (mot de passe);request.setAttribute ("gurubean", testobj);RequestDispatcher rd = request.getRequestDispatcher ("mvc_success.jsp");rd.forward (requête, réponse);}}
Explication du code:
Couche contrôleur
Ligne de code 14: mvc_servlet étend HttpServlet.
Ligne de code 26: Comme la méthode utilisée est POST, la requête entre dans une méthode doPost du servlet qui traite les requêtes et les enregistre dans l'objet bean en tant que testobj.
Ligne de code 34: En utilisant l'objet de requête, nous définissons l'attribut comme gurubean auquel la valeur de testobj est attribuée.
Ligne de code 35: Ici, nous utilisons l'objet de répartition de la demande pour transmettre le message de réussite à mvc_success.jsp
TestBean.java
package demotest;import java.io.Serializable;La classe publique TestBean implémente Serializable {public String getEmail () {retourner un e-mail;}public void setEmail (String email) {this.email = email;}public String getPassword () {retourner le mot de passe;}public void setPassword (String password) {this.password = mot de passe;}private String email = "null";private String password = "null";}
Explication du code:
Couche de modèle:
Code Line 7-17: Il contient les getters et les setters de l'email et du mot de passe qui sont membres de la classe Test Bean
Ligne de code 19-20: elle définit l'adresse e-mail et le mot de passe des membres de type chaîne dans la classe bean.
Mvc_success.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ page import = "demotest.TestBean"%>Guru Success <%TestBean testguru = (TestBean) request.getAttribute ("gurubean");out.print ("Bienvenue", + testguru.getEmail ());%>
Explication du code:
Ligne de code 12: nous obtenons l'attribut en utilisant l'objet de requête qui a été défini dans la méthode doPost du servlet.
Ligne de code 13: Nous imprimons le message de bienvenue et l'identifiant de l'e-mail qui ont été enregistrés dans l'objet bean
Production:
Lorsque vous exécutez le code ci-dessus, vous obtenez la sortie suivante:
Lorsque vous cliquez sur mvc_example.jsp, vous obtenez le formulaire avec e-mail et mot de passe avec le bouton d'envoi.
Une fois que vous avez entré l'e-mail et le mot de passe dans le formulaire, puis cliquez sur Soumettre
Après avoir cliqué sur soumettre, la sortie est affichée comme ci-dessous
Production:
Lorsque vous entrez l'email et le mot de passe à l'écran et cliquez sur Soumettre, les détails sont enregistrés dans TestBean et à partir du TestBean, ils sont récupérés sur l'écran suivant pour obtenir le message de réussite.
Résumé:
Dans cet article, nous avons découvert l'architecture MVC ie Model View Controller.
JSP joue le rôle de présentation des données et de responsable du traitement. C'est une interface entre le modèle et la vue tandis que le modèle se connecte à la fois au contrôleur et à la base de données. La logique métier principale est présente dans la couche modèle.