Maison  >  Article  >  Java  >  Quel est le processus de Spring MVC ?

Quel est le processus de Spring MVC ?

不言
不言original
2019-04-10 14:10:073621parcourir

Quel est le processus de Spring MVC ?

Le framework SpringMVC est un framework Web basé sur les requêtes et utilise le modèle de « contrôleur frontal » pour la conception, puis le distribue au contrôleur de page correspondant en fonction du « mappage de requêtes ». règles» pour le traitement.

Quel est le processus de Spring MVC ?

Processus global :

Quel est le processus de Spring MVC ?

1 Tout d'abord, l'utilisateur envoie une requête——>DispatcherServlet (contrôleur frontal) et le. le contrôleur frontal reçoit la requête. Ensuite, il ne la traite pas lui-même, mais la délègue à d'autres analyseurs pour le traitement, en tant que point d'accès unifié pour le contrôle global du processus

2. mapper), HandlerMapping La requête sera mappée à un objet HandlerExecutionChain (y compris un objet processeur Handler (contrôleur de page), plusieurs intercepteurs HandlerInterceptor) Grâce à ce mode de stratégie, il est facile d'ajouter de nouvelles stratégies de mappage ; 3 , DispatcherServlet——>HandlerAdapter (adaptateur de processeur), HandlerAdapter conditionnera le processeur en tant qu'adaptateur, prenant ainsi en charge plusieurs types de processeurs, c'est-à-dire l'application du modèle de conception de l'adaptateur, prenant ainsi facilement en charge de nombreux types de processeurs ; >

4. HandlerAdapter——>Appelez la méthode de traitement de la fonction du processeur. HandlerAdapter appellera la méthode de traitement de la fonction du processeur réel en fonction du résultat de l'adaptation pour terminer le traitement de la fonction et retournera un objet ModelAndView (y compris les données du modèle, la vue logique ; name);

5. Nom de la vue logique de ModelAndView——> ViewResolver, ViewResolver analysera le nom de la vue logique dans une vue spécifique. Grâce à ce modèle de stratégie, il est facile de remplacer d'autres technologies de vue ;

6. Vue——>Rendu, la vue sera rendue en fonction des données du modèle entrantes. Le modèle ici est en fait une structure de données cartographique, il peut donc facilement prendre en charge d'autres technologies d'affichage ;

7. DispatcherServlet et DispatcherServlet renvoie une réponse à l'utilisateur. C'est la fin du processus.

Processus principal :


1. Lancer une requête au contrôleur frontal (DispatcherServlet) Quel est le processus de Spring MVC ?

2. Le contrôleur frontal demande à HandlerMapping de rechercher Handler (peut être recherché en fonction de la configuration XML et des annotations)

3. Le mappeur de processeur HandlerMapping renvoie Handler au contrôleur frontal. mapper la requête à un objet HandlerExecutionChain (y compris un objet processeur Handler (contrôleur de page), plusieurs objets intercepteurs HandlerInterceptor), grâce à ce mode de stratégie, il est facile d'ajouter de nouvelles stratégies de mappage

4. appelle l'adaptateur de processeur pour exécuter le Handler

5. L'adaptateur de processeur HandlerAdapter exécutera Handler

en fonction du résultat de l'adaptation 6. Une fois l'exécution du handler terminée, il renvoie ModelAndView à l'adaptateur<.>

7. L'adaptateur de processeur contrôle le front-end Le contrôleur renvoie ModelAndView (ModelAndView est un objet sous-jacent du framework springmvc, comprenant le modèle et la vue)

8. Le contrôleur frontal demande la vue analyseur pour effectuer l'analyse de vue (résoudre en une vue réelle (jsp) basée sur le nom de la vue logique), il est facile de remplacer d'autres technologies de vue grâce à cette stratégie, il suffit de changer l'analyseur de vue

9. renvoie View au contrôleur frontal

10. Le contrôleur frontal effectue le rendu de View (le rendu de vue remplit les données du modèle (dans l'objet ModelAndView) dans le champ de requête)

11. Le contrôleur frontal répond à l'utilisateur avec les résultats

[Recommandations associées :

Tutoriel Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn