Maison  >  Article  >  Java  >  Spring+SpringMVC+MyBatis Apprentissage approfondi et construction-Architecture SpringMVC

Spring+SpringMVC+MyBatis Apprentissage approfondi et construction-Architecture SpringMVC

巴扎黑
巴扎黑original
2017-06-26 09:54:331651parcourir

Veuillez indiquer la source de la réimpression :

Comme mentionné précédemment : Spring+SpringMVC+MyBatis apprentissage et construction approfondis (10) - Ingénierie inverse MyBatis

1 Qu'est-ce que SpringMVC

1. 🎜>

Spring web mvc et Struts2 appartiennent tous deux au framework de couche de présentation, qui est un module du framework Spring. SpringMVC et Spring n'ont pas besoin d'être intégrés via une couche d'intégration intermédiaire.

SpringMVC est un framework web basé sur mvc.

2. Application de mvc dans le système b/s

(1) L'utilisateur lance une requête au control Contrôleur

Contrôle les données demandées par l'utilisateur et les délègue au modèle pour traitement.

(2) Le contrôleur traite les données via le modèle (Modèle) et obtient les résultats du traitement

Le modèle fait généralement référence à la logique métier

(3) Les résultats du traitement du modèle sont renvoyés au contrôleur

(4) Le contrôleur affiche les données du modèle dans la vue

Le modèle dans le Web ne peut pas afficher les données directement sur la vue, il doit être complété via le contrôleur. Si le modèle est dans une application C/S, les données peuvent être affichées dans la vue.

(5) Le contrôleur répond avec la vue à l'utilisateur

Présentez les données ou les résultats du traitement à l'utilisateur via la vue.

3. Framework SpringMVC

3.1 Processus d'architecture

(1) L'utilisateur envoie une requête au contrôleur frontal (DispatcherServlet )

(2) DispatcherServlet reçoit la requête et appelle le mappeur de processeur HandlerMapping

(3) Le mappeur de processeur trouve le processeur spécifique en fonction de l'URL de la requête (Handler, qui peut être recherché en fonction xml et annotations), l'objet processeur généré et l'intercepteur de processeur (généré le cas échéant) sont renvoyés au DispatcherServlet.

(4) DispatcherServlet appelle le processeur via l'adaptateur de processeur HandlerAdapter

(5) Processeur d'exécution (contrôleur, également appelé contrôleur back-end)

(6) Contrôleur après exécution, renvoie ModelAndView

(7) HandlerAdapter renvoie le résultat de l'exécution du contrôleur ModelAndView à DispatcherServlet

(8) DispatcherServlet transmet ModelAndView au résolveur de vue ViewResolver

(9) ViewResolver renvoie le résolveur de vue spécifique Vue après analyse

(10) DispatcherServlet restitue la vue (c'est-à-dire remplit les données du modèle dans la vue)

(11) DispatcherServlet répond à l'utilisateur

3.2 Composants Description

(1) Contrôleur frontal DispatcherServlet (ne nécessite pas de développement de programmeur)

Fonction : recevoir les demandes et les résultats des réponses, équivalent à un répéteur et une unité centrale de traitement.

Avec DispatcherServlet, le couplage entre d'autres composants peut être réduit.

(2) Mappeur de processeur HandlerMapping (aucun développement de programmeur requis)

Fonction : Rechercher un gestionnaire en fonction de l'URL demandée

(3) Adaptateur de processeur HandlerAdapter

Fonction : exécuter le gestionnaire selon des règles spécifiques (règles requises par HandlerAdapter)

(4) Processor Handler (nécessite le développement du programmeur)

Remarque : lors de l'écriture de Handler, suivez les instructions de HandlerAdapter. requis pour le faire et faites attention à l'adaptateur pour exécuter correctement le gestionnaire.

(5) View solver Viewresolver (ne nécessite pas de développement de programmeur)

Fonction : Qui effectue l'analyse et l'analyse dans une vue réelle (View) selon le nom logique de la vue

(6) View (nécessite que les programmeurs développent jsp)

View est une interface, et la classe d'implémentation prend en charge différents types de View (jsp, freemarker, pdf...)

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