Le Web Spring MVC fournit le Modèle-Vue-Contrôleur (MVC) l’architecture et prêt composants qui peuvent être utilisés pour accroître la flexibilité et faiblement couplé applications web. Le modèle MVC permet de séparer les différents aspects de l’application (logique d’entrée, logique métier et logique D’interface utilisateur), tout en fournissant un couplage lâche entre ces éléments.,
-
le modèle encapsule les données d’application et en général elles seront constituées de POJO.
-
la vue est responsable du rendu des données du modèle et, en général, elle génère une sortie HTML que le navigateur du client peut interpréter.
-
Le contrôleur est responsable du traitement des demandes des utilisateurs et de la construction d’un modèle approprié et le transmet à la vue pour le rendu.
La DispatcherServlet
Le Printemps du Web modèle-vue-contrôleur (MVC) est conçu autour d’un DispatcherServlet qui gère toutes les requêtes et réponses HTTP., Le workflow de traitement des requêtes de Spring Web MVC DispatcherServlet est illustré dans le schéma suivant −
Voici la séquence d’événements correspondant à une requête HTTP entrante à DispatcherServlet −
-
Après avoir reçu une requête HTTP, DispatcherServlet consulte le HandlerMapping pour appeler le contrôleur approprié.
-
Le contrôleur prend la demande et appelle les méthodes de service appropriées en fonction de la méthode GET ou POST utilisée., La méthode service définit les données du modèle en fonction de la logique métier définie et renvoie le nom de la vue au DispatcherServlet.
-
Le DispatcherServlet prendra l’aide de ViewResolver pour récupérer la vue définie pour la requête.
-
Une fois la vue finalisée, le DispatcherServlet transmet les données du modèle à la vue qui est finalement rendue sur le navigateur.
Tous les composants, c’est à dire, HandlerMapping, Controller et ViewResolver sont des parties de WebApplicationContext w qui est une extension de plainApplicationContext avec quelques fonctionnalités supplémentaires nécessaires pour les applications web.
Configuration requise
Vous devez mapper les requêtes que vous souhaitez que le DispatcherServlet gère, en utilisant un mappage D’URL dans le web.fichier xml. Ce qui suit est un exemple pour montrer la déclaration et le mappage pour HelloWeb DispatcherServlet exemple −
le web.le fichier xml sera conservé dans le répertoire WebContent/WEB-INF de votre application web., Lors de l’initialisation de HelloWeb DispatcherServlet, le framework essaiera de charger le contexte de l’application à partir d’un fichier nommé-servlet.xml situé dans le WebContent/WEB-INFdirectory de l’application. Dans ce cas, notre fichier sera HelloWebservlet.XML.
ensuite, <servlet-mapping> la balise indique quelles URL seront gérées par quel DispatcherServlet. Ici toutes les requêtes HTTP se terminant par .jsp sera géré par HelloWeb DispatcherServlet.
Si vous ne voulez pas utiliser le nom de fichier par défaut comme servlet.,xml et emplacement par défaut en tant que WebContent / WEB-INF, vous pouvez personnaliser ce nom de fichier et cet emplacement en ajoutant L’écouteur de servlet ContextLoaderListener dans votre web.fichier xml comme suit-
maintenant, vérifions la configuration requise pour HelloWeb-servlet.fichier xml, placé dans le répertoire WebContent/WEB-INF de votre application web −
Voici les points importants à propos de HelloWeb-servlet.fichier xml
-
La servlet.fichier xml sera utilisé pour créer les haricots défini, en substituant les définitions des haricots définies avec le même nom dans la portée globale.,
-
le< contexte:component-scan…> la balise sera utilisée pour activer la capacité D’analyse des annotations Spring MVC qui permet d’utiliser des annotations telles que @Controller et @RequestMapping, etc.
-
InternalResourceViewResolver aura des règles définies pour résoudre les noms de vue. Selon la règle définie ci-dessus, une vue logique nommée hello est déléguée à une implémentation de vue située dans /WEB-INF/jsp/hello.JSP .
La section suivante va vous montrer comment créer vos composants réels, c’est à dire,, Contrôleur, Modèle et vue.
définition d’un Controller
Le DispatcherServlet délègue la requête aux Controller pour exécuter la fonctionnalité qui lui est spécifique. La @ Controllerannotation indique qu’une classe particulière joue le rôle d’un contrôleur. L’annotation @ RequestMapping est utilisée pour mapper une URL à une classe entière ou à une méthode de gestionnaire particulière.
l’annotation @Controller définit la classe comme un contrôleur Spring MVC. Ici, la première utilisation de @ RequestMapping indique que toutes les méthodes de gestion de ce contrôleur sont relatives au chemin / hello., L’annotation suivante@RequestMapping(méthode = RequestMethod.GET) est utilisé pour déclarer la méthode prininthello () comme méthode de service par défaut du contrôleur pour gérer la requête HTTP GET. Vous pouvez définir une autre méthode pour gérer toute requête POST à la même URL.
Vous pouvez écrire le contrôleur ci −dessus sous une autre forme où vous pouvez ajouter des attributs supplémentaires dans @RequestMapping comme suit –
l’attribut value indique L’URL à laquelle la méthode handler est mappée et l’attribut method définit la méthode service pour gérer la requête HTTP GET., Les points importants suivants sont à noter au sujet du contrôleur défini ci −dessus –
-
vous définirez la logique métier requise dans une méthode de service. Vous pouvez appeler une autre méthode à l’intérieur de cette méthode selon l’exigence.
-
basé sur la logique métier définie, vous allez créer un modèle dans cette méthode. Vous pouvez utiliser différents attributs de modèle setter et ces attributs seront accessibles par la vue pour présenter le résultat final. Cet exemple crée un modèle avec son attribut « message ».,
-
Une méthode de service définie peut renvoyer une chaîne, qui contient le nom de la vue à utiliser pour rendre le modèle. Cet exemple renvoie « hello » comme nom de vue logique.
création de vues JSP
Spring MVC prend en charge de nombreux types de vues pour différentes technologies de présentation. Ceux – ci incluent-JSPs, HTML, PDF, feuilles de calcul Excel, XML, modèles de vitesse, XSLT, JSON, Atom et flux RSS, JasperReports, etc. Mais le plus souvent, nous utilisons des modèles JSP écrits avec JSTL.
écrivons une simple vue hello dans/WEB-INF/hello / hello.,jsp –
<html> <head> <title>Hello Spring MVC</title> </head> <body> <h2>${message}</h2> </body></html>
ici {{message} est l’attribut que nous avons configuré à l’intérieur du contrôleur. Vous pouvez avoir plusieurs attributs à afficher dans votre vue.
Spring Web MVC Framework Examples
sur la base des concepts ci −dessus, vérifions quelques exemples importants qui vous aideront à construire vos Applications Web Spring –
Sr.No., | Exemple: & Description |
---|---|
1 | Spring MVC Exemple Hello World
Cet exemple explique comment écrire un simple Ressort Web de l’application Hello World. |
2 | exemple de gestion de formulaire Spring MVC
Cet exemple explique comment écrire une application Web Spring à l’aide de formulaires HTML pour soumettre les données au contrôleur et afficher un résultat traité. |
3 | Printemps Redirection de Page Exemple
Apprendre à utiliser la fonctionnalité de redirection de page dans Spring MVC., |
4 | Spring Static Pages Example
Learn how to access static pages along with dynamic pages in Spring MVC Framework. |
5 | Spring Exception Handling Example
Learn how to handle exceptions in Spring MVC Framework. |