Constellation Knowledge Network - Preguntas y respuestas sobre Bagua - Java está ansioso por explicar cómo funciona SpringMVC y su proceso.

Java está ansioso por explicar cómo funciona SpringMVC y su proceso.

Descripción del flujo de trabajo de Spring

1. El usuario envía una solicitud al servidor y la solicitud es capturada por el control front-end de Spring Servelt DispatcherServlet;

2.? DispatcherServlet analiza la URL de solicitud para obtener el identificador de recurso de solicitud (URI). Luego llame a HandlerMapping de acuerdo con el URI para obtener todos los objetos relacionados configurados por el controlador (incluido el objeto controlador y el interceptor correspondiente al objeto controlador) y finalmente devuélvalo en forma de un objeto HandlerExecutionChain;

3.? DispatcherServlet selecciona el adaptador de controlador apropiado según el HandlerAdapter obtenido. (Nota: si el HandlerAdapter se obtiene con éxito, el método previo al controlador (...) del interceptor se ejecutará en este momento).

? 4.? Extraiga los datos del modelo en la solicitud, complete los parámetros del Handler y comience a ejecutar el Handler (controlador). En el proceso de completar los parámetros del controlador, Spring hará un trabajo adicional por usted de acuerdo con su configuración:

HttpMessageConvet: convierte el mensaje de solicitud (como Json, xml y otros datos) en un objeto, y El objeto se convierte en la información de respuesta especificada.

Conversión de datos: realiza la conversión de datos en el mensaje de solicitud. Por ejemplo, cadena en números enteros, doble precisión, etc.

Raíz de datos: el formato de datos del mensaje de solicitud. Por ejemplo, convierta una cadena en un número formateado o una fecha formateada.

Verificación de datos: verifica la validez (longitud, formato, etc.) de los datos y los resultados de la verificación se almacenan en BindingResult o Error.

5.? Una vez ejecutado el controlador, ¿se envía a DispatcherServlet? Devuelve el objeto ModelAndView;

6.? Según el ModelAndView devuelto, seleccione el ViewResolver apropiado (debe estar registrado en el contenedor Spring) y devuélvalo al DispatcherServlet. ;

7.? ViewResolver combina modelos y vistas para representar vistas.

? 8. Devolver los resultados de la renderización al cliente.

Descripción del flujo de trabajo de Spring

¿Por qué Spring solo permite que Servlet (DispatcherServlet) maneje todas las solicitudes?

? Para obtener más información, consulte Patrón de diseño J2EE-Patrón de control frontal.

¿Por qué Spring usa HandlerMapping y HandlerAdapter para manejar identificadores?

Conforme al principio de responsabilidad única en orientación a objetos, la estructura del código es clara, fácil de mantener y, lo más importante, el código es altamente reutilizable. Por ejemplo, HandlerAdapter se puede utilizar para manejar varios controladores.

上篇: ¿La isla Wuzhizhou en Sanya es más divertida o la isla Oeste? 下篇: Rutina de adivinación táctil_¿Qué es la rutina de adivinación táctil?
Artículos populares