Introduction au printemps MVC
Spring MVC est un cadre Web léger basé sur le modèle d'architecture MVC. Le but est de modulariser le développement Web et de découpler l'architecture globale.
Spring MVC présente les avantages suivants:
Dans le cadre du cadre du printemps, il présente les avantages du printemps (CIO, AOP, etc.)
Prend en charge la cartographie du contrôleur d'URL-page flexible
Fournir des mécanismes de vérification, de mise en forme et de liaison des données flexibles
Soutenir le style RESTful
Processus de demande Spring MVC
Le processus global de demande du cadre Spring MVC est le suivant:
La figure ci-dessus implique plusieurs composants fonctionnels de Spring MVC:
Contrôleur frontal (Dispatcherservlet): Recevez la demande de l'utilisateur et renvoyez le résultat de la demande. Sa fonction est équivalente à un transfert ou un processeur central, qui contrôle l'ensemble du processus d'exécution, de planifier divers composants et de réduire le couplage entre les composants.
Mappage du processeur: recherchez le gestionnaire de processeur correspondant en fonction de l'URL demandée par l'utilisateur, via l'annotation ou la configuration XML.
Adaptateur de processeur: Complétez l'appel à la méthode du processeur en fonction du gestionnaire trouvé par le mappeur
Handler: La logique spécifique du traitement des demandes, du retour des données et des informations d'affichage
Voir Resolver: analyse la vue spécifique et analyse le nom de vue logique dans une vue réelle via les informations de vue de l'objet ModelandView.
Explication détaillée des étapes spécifiques du processus de demande:
1: L'utilisateur initie une demande et la demande sera interceptée par le contrôleur frontal (Dispatcherservlet)
2: Contrôleur frontal (DispatcherServlet) Demande de mappeur de processeur (maintherage) pour trouver le gestionnaire
3: Le mappeur de processeur (Handlermapping) trouve le gestionnaire correspondant en fonction de la configuration (peut être plus annotée ou une configuration XML), qui peut contenir plusieurs intercepteurs intercepteurs et les renvoyer au contrôleur frontal.
4: Le contrôleur frontal (DispatcherServlet) demande l'adaptateur de processeur (Handleradapter) pour exécuter le gestionnaire correspondant
5: L'adaptateur est remis au processeur de gestionnaire correspondant pour exécuter
6: Une fois le processeur de gestionnaire exécuté, renvoyez l'objet ModelAndView à l'adaptateur de processeur
7: L'adaptateur de processeur accepte le résultat de retour du processeur de gestionnaire et renvoie le résultat au contrôleur frontal (DispatcherServlet)
8: Le contrôleur frontal (DispatcherServlet) reçoit les données et les informations de vue renvoyées par l'adaptateur de processeur, demande l'analyseur de vue et analyse la vue correspondante
9: L'analyseur de vue revient au contrôleur frontal en fonction du résultat de vue correspondant correspondant aux informations de vue.
10: Le contrôleur frontal reçoit la vue spécifique, rend la vue, remplit les données du modèle dans la vue de la vue et génère la vue finale
11: Le contrôleur frontal renvoie le résultat à l'utilisateur
Construisez des démos à partir de zéro
Créer un projet:
Créer un nouveau projet Web dynamique sous Eclipse
Structure du répertoire par défaut du projet:
Ajouter les dépendances du package JAR
Importez le package JAR correspondant sous WebContent> Web-Inf> Folder Lib, où le package JAR Core est Spring-Webmvc-5.0.0.release.jar, et les autres sont principalement printemps pour gérer les packages de contexte et Beande, la bibliothèque de balises JSTL et un package de journaux pour les journaux d'impression:
Configuration du contrôleur frontal dans web.xml
Le contrôleur frontal est équivalent au servlet propriétaire de Spring MVC, utilisé pour intercepter toutes les demandes de qualification et les remettre au cadre de traitement ultérieur.
<? xml version = "1.0" encoding = "utf-8"?> <web-app xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://xmlns.jcp.org/xml/ns/javaee" xsi: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1. id = "webapp_id" version = "3.1"> <! - Configurer le contrôleur frontal-dispatchServlet -> <Servlet> <Servlet-Name> SpringmvcNext </Servlet-Name> <Serstletservlet> org.springFramework.web.servlet.dispatcherservlet </ferflet-Class> <! - ContexteConfiglocation n'est pas requis. Si ContextConfiglocation n'est pas configurée, le fichier de configuration de Springmvc est par défaut: Web-Inf / Servlet Nom + "- Servlet.xml" -> <Init-Param> <Am param-Name> ContextConfiglocation </ Param-Name> <Anit-Value> ClassPath: ApplicationContex <Servlet-Name> SpringMvcNext </vrlet-name> <URL-Pattern> / </rl-potern> <! - Intercepter les demandes envoyées par les utilisateurs en fonction des règles définies par URL-sattern. Toutes les demandes sont interceptées ici, y compris les ressources statiques-> </ servlet-mapping> </ web-app>
La règle de correspondance URL définie dans la balise <servlet-mapping> est sous une forme conforme à * .Action, le servlet correspondant est nommé SpringMvcNext, et le contrôleur configuré par <servlet est org.springframework.web.servlet.dispatchServlet, qui est le contrôleur avant du projet SpringMVC actuel. La balise <Init-param> est le paramètre dont dépend le contrôleur actuel. Les deux paramètres représentent respectivement les paramètres de contexte et le chemin de chargement des paramètres.
À propos de ClassPath: représente le chemin de sortie après la compilation du projet Web
Configurer la configuration de Spring MVC
Ajouter un fichier applicationContext.xml dans le répertoire de code source Java
Contenu spécifique:
<? xml version = "1.0" encoding = "utf-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns: p = "http://www.springframework.org/schema/p" xmlns: context = "http://www.springframework.org/schema/mvc" xsi: schemalocation = "http://www.springfrrameworkwork.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsddwork.org/schema/security/spring-secury.xsdd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd "> <! - La balise de scanner de package sera utilisée pour activer la fonction d'annotation Spring MVC, permettant des annotations telles que @Controller et @requestmapping. -> <Context: Component-Scan Base-Package = "Com.sl.Controller" /> <! - Annotation Driver -> <MVC: Annotation-Drive /> <! - Configure View Resolver -> <Bean Id = "InternalResourceViewResolver"> <Propriété Name = "Prefix" Value = "/ Web-Inf / View /" /> <prewethy = "Suffix" Suffix ". </bEAN> </EANS>
Ajouter le contrôleur et la vue d'affichage
Ajoutez le package com.sl.controller dans le répertoire SRC et ajoutez le code du contrôleur comme suit:
package com.sl.Controller; import org.springframework.sterreotype.controller; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.servlet.modelandView; @ControllerPublic helloworldController {@requestmapping (") / hreatf Demandes dans le chemin d'urgence à partir de / index: y compris / index / * et /index.html public ModelandView Helloworld () {String Message = "Hello Spring MVC"; return new ModelandView ("index", "message", message); }}Ajouter une affiche de fichier index.jsp dans web-inf / View
<Html> <A-Head> <Title> Spring Mvc </Title> </Ead> <Body> $ {Message} </ Body> </html>Résultats en cours:
Résumer
Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article a une certaine valeur de référence pour l'étude ou le travail de chacun. Si vous avez des questions, vous pouvez laisser un message pour communiquer. Merci pour votre soutien à wulin.com.