Les composants principaux de Springmvc
DispatcherServlet are
Handaulage -> Contrôleur, distribution de demande
Contrôleur `` ``> Contrôleur, demande de traitement de demande
ModelandView ---> modèle, encapsuler les résultats et les vues de traitement commercial
ViewResolver ---> Affichage, affichage du processeur d'affichage
Processus de traitement
Le navigateur émet une demande de pistage et remet la demande à la distribution de contrôleur frontal pour le traitement.
Le contrôleur trouve le composant de contrôleur correspondant pour gérer la demande par le biais de l'hébergement.
Exécutez la méthode convenue par le composant de contrôleur pour traiter la demande et appelez le composant modèle pour terminer le traitement commercial dans la méthode de la convention. La méthode de la convention peut renvoyer un objet ModelandView, qui résume les données de résultat du traitement commercial et afficher les informations du nom.
Une fois que le contrôleur a reçu le ModelandView, il appelle le composant ViewResolver, localise la vue (JSP) et transmet des informations pour générer le résultat de l'interface de réponse.
La configuration des commentaires présente de nombreux avantages par rapport à la configuration XML:
Il peut utiliser pleinement le mécanisme de réflexion de Java pour obtenir des informations sur la structure des classes, ce qui peut réduire efficacement le travail de configuration. Si vous utilisez l'annotation JPA pour configurer le mappage ORM, nous n'avons pas besoin de spécifier le nom d'attribut, le type et d'autres informations du PO. Si le champ de table de relation et le nom et le type d'attribut PO sont les mêmes, vous n'avez même pas besoin d'écrire des informations de mappage d'attribut de tâche - car ces informations peuvent être obtenues via le mécanisme de réflexion Java.
Les commentaires et le code Java sont situés dans le même fichier, tandis que les configurations XML utilisent des fichiers de configuration indépendants. La plupart des informations de configuration ne seront pas ajustées après l'élaboration du programme. Si les informations de configuration et le code Java sont assemblés, cela aidera à améliorer la cohésion du programme. En utilisant des fichiers de configuration XML indépendants, les programmeurs doivent souvent basculer entre les fichiers du programme et les fichiers de configuration lors de l'écriture d'une fonction. Cette incohérence dans la pensée réduira l'efficacité du développement.
Composant de contrôleur
Le composant du contrôleur est responsable de l'efficacité du traitement commercial spécifique, et il est nécessaire d'implémenter l'interface du contrôleur et les méthodes convenues pendant la rédaction.
Composant ModelAndView
Le composant de la convention de contrôleur renverra un objet ModelandView, qui résume les données du modèle de résultat de traitement commercial et affiche les informations.
Le constructeur ModelandView est le suivant:
-ModelandView (StringViewName)
-ModelandView (StringViewName, MapModel)
où ViewName est le nom de la page JSP, et les données du modèle sont stockées dans l'attribut de demande
Composant de l'hébergement
Grâce au composant de handicap, le contrôleur DispatcherServlet peut mapper les demandes HTTP au composant du contrôleur.
-SIMPLEUSERHANDLERMAPPing maintient une demande de mappage de demande HTTP et de mappage du contrôleur (MAP) pour appeler le contrôleur en fonction de la relation de correspondance de liste.
SimpleUserHandlermapping
<an bean> <propriété name = "mappings"> <props> <prop key = "/ login.form"> LoginController </Prop> <props> </ prop Key = "/ Hello.form"> HelloController </Prop> </ Property> </Ean> <Bean Id = "HelloController" />
Le HelloController dans la balise SimpleUserHandlermapping ci-dessus correspond au composant dont l'ID est HelloController dans la balise Bean ci-dessous.
Requêtemappinghandlermapping
Resquestmappinghandleradapter
Utilisez l'annotation @ResQuestMapping sur la classe et les méthodes du contrôleur pour spécifier la demande HTTP client correspondante.
ViewResolver
Tous les composants du contrôleur renvoient une instance ModelandView, encapsulant le nom de la vue, la vue dans le printemps est identifiée par le nom et le résolver Viewver ViewResolver résout la vue via le nom.
InternalResourceViewResolver enveloppe les servlets et JSPS, en utilisant des exemples:
<bean id = "jspViewResolver"> <propriété name = "prefix" value = "/ web-inf / jsp /" /> <propriété name = "suffixe" value = ". jsp" /> </ bean>
Par exemple: le nom de vue Hello peut être mappé à /web-inf/hello.jsp via la configuration ci-dessus
Annotation du contrôleur
Nous utilisons généralement l'annotation @Controller pour déclarer le composant de contrôleur, ce qui le rend plus flexible et vous n'avez pas besoin d'implémenter l'interface du contrôleur comme avant.
@ControllerPublic class helloController {public String execute () {return "Hello"; }}Il existe une condition préalable à l'utilisation de l'annotation ci-dessus, qui consiste à permettre la numérisation de l'annotation:
<Context: Component-Scan Base-Package = "org.Test.Controller">
Le package de base écrit le package où se trouve le composant du contrôleur.
Resquestmapping Annotation
ResQuestMapping indique à quelle demande cette classe ou cette méthode correspond.
@ Contrôleur @ resquestmapping ("/ test1") classe publique HelloController {@resquestmapping ("/ hello.form") String public helloExECute () {return "Bonjour"; }}Si vous avez besoin d'utiliser Requestmapping, vous devez définir deux composants de bean dans le fichier de configuration Spring XML RequestMappingHandlerMapping (avant la définition de classe) et la mise en œuvre de demande (avant la définition de la méthode), par exemple (doit être défini dans la version 3.1 Spring)::
<Bean /> <Bean />
La version du printemps 3.2 n'a pas besoin d'être définie
<MVC: annotation-axé />
Résumer
Ce qui précède est la brève introduction des notes sur le printemps dans cet article, et j'espère qu'elle sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!