Aujourd'hui, c'est la première fois que vous contactez Spring mvc. Tout d'abord, commençons. avec Spring mvc son cycle de vie pour le comprendre.
Cours recommandé : Tutoriel Java.
Tout d'abord, le navigateur enverra une requête, et notre projet recevra la requête via un servlet nommé dispatcherServlet au printemps
Cette servlet recevra après la requête. , il sera vérifié si c'est la première fois que ce Servlet est chargé. Si c'est la première fois que vous chargez ce servlet, dispatcherServlet effectuera quelques opérations d'initialisation à ce moment-là.
dispatcherServlet initialisera HandlerMapping (remarque : il gère le mappage des requêtes client sur chaque processeur du contrôleur)
dispatcherServlet initialisera HandlerAdapter (remarque : HandlerMapping sera appelé en fonction de celui-ci) Méthodes qui doivent être exécutés dans le contrôleur)
dispatcherServlet initialisera handlerExceptionResolver (Remarque : pendant le processus de traitement Spring MVC, si une exception est levée, elle lui sera transmise pour la gestion des exceptions)
dispatcherServlet initialisera ViewResolver (Remarque : HandlerAdapter finira par envelopper la valeur de retour de l'appel dans Controller dans
ModelAndView. ViewResolver vérifiera la vue. Si la vue est une chaîne, elle sera responsable du traitement de ce caractère et renverra une vraie vue si.
Si la vue est une vraie vue, elle ne lui sera pas transmise pour traitement)
Une fois ce qui précède initialisé, le dispatcherServlet commencera à interroger un ou plusieurs handlerMaprring pour mapper la requête à un contrôleur object
Si un objet contrôleur n'est pas trouvé à ce moment, une exception sera levée
Si un objet contrôleur est trouvé, la demande sera traitée par le preHandle d'une chaîne d'intercepteur et mise en correspondance au contrôleur via handlerAdapter La méthode spécifique de l'objet
Ensuite, dans cette méthode, la demande sera traitée selon notre logique métier. Après avoir terminé le traitement de la logique métier, le contrôleur obtiendra. un objet ModelAndView (remarque : vie
dans cette classe
Cet attribut est de type Object, il peut s'agir d'un nom de vue ou d'une vue réelle) Après avoir obtenu ce ModelAndView, spring déterminera si le viewName de ModelAndView est de type String
S'il s'agit d'un type String, appelez directement la méthode getView de ModelAndView, puis recherchez la page correspondante et renvoyez les informations à DispatcherServlet
Si elle n'est pas un type de chaîne, alors il ira au ViewResolver en fonction du viewName pour trouver le nom puis déterminera sa correspondance. La page renvoie ensuite la page à dispatcherserlvet
Enfin, dispatcherSerlvet renverra le. page obtenue au navigateur.
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!