Spring MVC- Principio

1.1 Características básicas de Spring MVC

1.1.1 Conceptos básicos

  • Spring MVC es un marco ligero Web MVC del sistema Spring.
  • El controlador central de Spring MVC se utiliza para procesar solicitudes y generar respuestas.
  • Spring MVC se ejecuta en función del contenedor Spring IOC y todos los objetos son administrados por el IOC.

1.1.2 Posición en la arquitectura de tres niveles

1.1.3 Ventajas de Springmvc

Número de serie ventaja descripción
1 División clara de roles Controlador frontal (DispatcherServlet), mapeador de procesador (HandlerMapping), adaptador de procesador (HandlerAdapter), resolución de vista (ViewResolver), controlador de back-end (Controller)
2 Integración perfecta con el marco Spring Esto no está disponible en otros marcos web.
3 Buena escalabilidad Se puede extender fácilmente, aunque casi no se necesita
4 Prueba unitaria conveniente El objeto Mock proporcionado por Spring se puede usar para realizar pruebas unitarias de capa web de manera muy simple
5. Poderoso RESTful, validación de datos, formateo, localización, temas, etc.
6 biblioteca de etiquetas jsp Potente biblioteca de etiquetas JSP, que facilita la escritura JSP

1.1.4 Comparación con Struts2

Puntos comunes :

  • Todos son marcos de capa de presentación y están escritos en base al modelo MVC.
  • Su capa inferior es inseparable del ServletAPI original.
  • Su mecanismo para procesar solicitudes es un controlador central.

Diferencia :

  • La entrada de Spring MVC es Servlet y Struts2 es Filter.
  • Spring MVC se basa en el diseño de métodos, y Struts2 se basa en la clase, Struts2 creará una clase de acción cada vez que se ejecute. Entonces Spring MVC será un poco más rápido que Struts2.
  • Spring MVC es más conciso de usar y también es compatible con JSR303, lo que hace que sea más conveniente procesar solicitudes ajax.
  • La expresión OGNL de Struts2 hace que la eficiencia del desarrollo de la página sea más alta que Spring MVC, pero la eficiencia de ejecución no es mejor que la de JSTL, especialmente la etiqueta de formulario struts2, que no es tan eficiente como html.

1.2 Principio de ejecución

1.2.1 Controlador frontal

El marco web de Spring está diseñado en torno a DispatcherServlet. El rol de DispatcherServlet es distribuir solicitudes a diferentes procesadores

A partir de Spring 2.5, los usuarios que usan Java 5 o superior pueden usar el método de declaración del controlador basado en anotaciones.
El marco Spring MVC, como muchos otros marcos MVC, se basa en solicitudes, envía solicitudes y proporciona otras funciones alrededor de un Servlet central. DispatcherServlet es un Servlet real (hereda de la clase base HttpServlet) .

1.2.2 Principios de SpringMVC

Cuando se inicia la solicitud, el controlador frontal intercepta la solicitud, genera una solicitud de proxy de acuerdo con los parámetros de la solicitud, encuentra el controlador real correspondiente a la solicitud, el controlador procesa la solicitud, crea un modelo de datos, accede a la base de datos y responde al modelo al controlador central para controlar El procesador usa el modelo y la vista para representar el resultado de la vista, devuelve el resultado al controlador central y luego devuelve el resultado al solicitante.

1.2.3 Principio de ejecución de SpringMVC

La línea continua indica la tecnología proporcionada por el marco SpringMVC y no necesita ser implementada por el desarrollador, y la línea punteada indica que necesita ser implementada por el desarrollador.

1.2.4 Proceso de ejecución

1. DispatcherServlet representa el controlador frontal y es el centro de control de todo SpringMVC. El usuario envía una solicitud y DispatcherServlet recibe la solicitud e intercepta la solicitud.
Supongamos que la URL solicitada es: http: // localhost: 8080 / SpringMVC / success

如上url拆分成三部分:http://localhost:8080服务器域名。
SpringMVC部署在服务器上的web站点。success表示控制器.
通过分析,如上url表示为:请求位于服务器localhost:8080上的SpringMVC站点的hello控制器。

2. HandlerMapping es el mapeo del procesador.

DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler。

3. HandlerExecutionChain representa un Handler (procesador) específico

其主要作用是根据url查找控制器,如上url被查找控制器为:success。

4. HandlerExecutionChain pasa la información analizada a DispatcherServlet, como analizar la asignación de controladores, etc.

5. HandlerAdapter representa el adaptador de procesador, que ejecuta el Handler de acuerdo con reglas específicas.

6. El controlador permite que se ejecute el controlador específico.

7. El controlador devuelve información de ejecución específica a HandlerAdapter, como ModelAndView.

8. HandlerAdapter pasa el nombre o modelo lógico de la vista a DispatcherServlet.

9. DispatcherServlet llama al solucionador de vistas (ViewResolver) para resolver el nombre de la vista lógica pasada por HandlerAdapter.

10. El solucionador de vistas pasa el nombre de la vista lógica resuelta a DispatcherServlet.

11. DispatcherServlet llama a una vista específica de acuerdo con el resultado de la vista analizado por el analizador de vistas.

12. La vista final se presenta al usuario.

Supongo que te gusta

Origin blog.csdn.net/hxy1625309592/article/details/115190332
Recomendado
Clasificación