Análisis del principio de ejecución SpringMVC 【detallado】

1. Diagrama esquemático de la operación SpringMVC

Inserte la descripción de la imagen aquí

2. Análisis del proceso de operación

1. El usuario del cliente envía una solicitud al controlador de front-end DispatcherServlet.
Inserte la descripción de la imagen aquí
2. DispatcherServletLlame al HandlerMappingasignador del procesador al recibir la solicitud .

3. El HandlerMappingasignador de procesadores encuentra un procesador específico (puede buscar de acuerdo con la configuración y las anotaciones xml), genera un objeto de procesador y un interceptor de procesador (si lo hay), y lo devuelve DispatcherServlet.

4. DispatcherServletLlame al HandlerAdapteradaptador del procesador y HandlerAdapteral procesador específico ( Controllertambién llamado controlador de fondo) después de la adaptación .

5, Controllerel controlador realiza una vuelta completa ModelAndView, HandlerAdapterel controllerresultado de la ejecución ModelAndViewse devuelve al DispatcherServlet.
Inserte la descripción de la imagen aquí
6. El DispatcherServletcontrolador frontal se pasará ModelAndViewa la ViewResloverresolución de vista.

7. ViewResloverDevolución específica después del análisis View.
Inserte la descripción de la imagen aquí

8, DispatcherServletde acuerdo con Viewrender vista (es decir, los datos del modelo para llenar la vista), y devuelve al usuario cliente.

3. Descripción de los componentes importantes de SpringMVC

1. El controlador front-end DispatcherServlet (no necesita ser desarrollado por ingenieros), proporcionado por el marco (importante)

Función: Función de entrada de Spring MVC. Recibir la solicitud y responder al resultado es equivalente a un repetidor y un procesador central. Con DispatcherServlet reduce el acoplamiento entre otros componentes. Cuando la solicitud del usuario llega al controlador front-end, es equivalente a c en el modo mvc. DispatcherServlet es el centro de todo el control del proceso. Llama a otros componentes para procesar las solicitudes del usuario. La presencia de DispatcherServlet reduce el acoplamiento entre los componentes.

2. HandlerMapping (no es necesario que sea desarrollado por ingenieros), proporcionado por el marco

Función: Buscar controlador de acuerdo con la url solicitada. HandlerMapping es responsable de encontrar el controlador o controlador de acuerdo con las solicitudes del usuario SpringMVC proporciona diferentes mapeadores para implementar diferentes métodos de mapeo, tales como: método de archivo de configuración, método de interfaz, método de anotación, etc.

3. HandlerAdapter

Función: Ejecuta el controlador de acuerdo con reglas específicas (las reglas requeridas
por el HandlerAdapter ). El HandlerAdapter ejecuta el procesador. Esta es la aplicación del modo adaptador. Se pueden ejecutar más tipos de procesadores a través del adaptador de expansión.

4. Controlador de procesador (requiere desarrollo de ingenieros)

Nota: Al escribir el controlador, hágalo de acuerdo con los requisitos del adaptador de controlador, de modo que el adaptador pueda ejecutar correctamente el
controlador . El controlador es el controlador de fondo que sigue al controlador front-end DispatcherServlet, y el controlador procesa las solicitudes específicas de los usuarios bajo el control del DispatcherServlet.
Dado que el controlador involucra solicitudes comerciales específicas de los usuarios, los ingenieros generalmente necesitan desarrollar controladores basados ​​en las necesidades comerciales.

5. Resolver vista (no requiere desarrollo de ingenieros), proporcionado por el marco

Función: Realice la resolución de la vista y resuélvala en una vista real de acuerdo con el nombre de la vista lógica. El
View Resolver es responsable de generar el resultado de la Vista a partir del resultado del procesamiento. El View Resolver primero resuelve el nombre de la vista lógica en el nombre de la vista física, es decir, la dirección de página específica, y luego genera la vista de Vista. Objeto, y finalmente renderice la Vista para mostrar los resultados del procesamiento al usuario a través de la página. El framework springmvc proporciona muchos tipos de vista de Vista, incluyendo: jstlView, freemarkerView, pdfView, etc.
En general, los datos del modelo deben mostrarse al usuario a través de la página a través de la etiqueta de página o la tecnología de plantilla de página, y el ingeniero debe desarrollar una página específica de acuerdo con las necesidades del negocio.

6. Vista (requiere desarrollo de ingenieros)

View es una interfaz, la clase de implementación admite diferentes tipos de View (jsp, freemarker, pdf ...)

Nota: El controlador del procesador (es decir, el controlador del que solemos hablar) y la vista de la capa de vista requieren nuestro propio desarrollo manual. El marco nos proporciona algunos otros componentes, tales como el controlador front-end DispatcherServlet, el mapeador de procesadores HandlerMapping, el adaptador de procesador HandlerAdapter, etc., no necesitan desarrollarse manualmente.

Referencias:
http://www.imooc.com/article/256062 [Mu Class Network]
https://blog.csdn.net/qq_39470733/article/details/80980320

Publicado 21 artículos originales · ganó 29 · vistas 2818

Supongo que te gusta

Origin blog.csdn.net/VariatioZbw/article/details/105626547
Recomendado
Clasificación