Escribe cómo funciona MVC
1. Cuando un usuario hace clic en un enlace o envía un formulario en el navegador, se genera una solicitud. Cuando la solicitud sale del navegador, lleva consigo la información que el usuario solicitó.
2. La primera parada de la solicitud llega al DispatcherServlet de Spring, que es un controlador front-end cuya responsabilidad es delegar la solicitud del usuario a otros componentes (en este caso, al controlador Spring MVC) para su procesamiento. .
Aquí, DispatcherServlet tiene que decidir a qué controlador pasar la solicitud, por lo que necesita un mapeo de controlador.
El mapeo del controlador analiza la información de la URL de la solicitud y decide a qué controlador pasar la solicitud. Por ejemplo, si hay dos controladores (ControladorA y ControladorB) que manejan las solicitudes enviadas con los sufijos .html y .jsp, cuando el sufijo del solicitante sea .html, DispatcherServlet entregará la solicitud al ControladorA para su procesamiento.
C representa el Controlador, que es responsable del control de la comunicación entre la interfaz de usuario y la capa de lógica empresarial. Por un lado, interpreta la entrada de la interfaz de usuario, identifica las operaciones del usuario (como hacer clic en botones, etc.). .), y llama a métodos en el Modelo correspondiente. Por un lado, procesa eventos del Modelo y los resultados de ejecución devueltos, y llama a la Vista correspondiente para mostrársela al usuario. El controlador se implementa principalmente mediante Servlet.
M representa el Modelo, que es responsable de implementar la lógica empresarial de toda la solución. También accede y opera la base de datos subyacente.
V representa la Vista, que es responsable de. mostrar el sistema a los usuarios, principalmente usando HTML y JSP, etc. ::
Componentes MVC:
Los siguientes componentes se usan generalmente en el marco para proporcionar implementación:
DispatcherServlet: como controlador front-end, controla todo El centro del proceso controla la ejecución de otros componentes, unifica la programación, reduce el acoplamiento entre componentes y mejora la escalabilidad de cada componente.
HandlerMapping: implemente diferentes métodos de mapeo extendiendo el mapeador del procesador, como: modo de archivo de configuración, modo de interfaz de implementación, modo de anotación, etc. ?
HandlAdapter: Admite más tipos de procesadores ampliando el adaptador del procesador.
Analizador de vistas: al extender el analizador de vistas, admite más tipos de análisis de vistas, como: jsp, freemarker, pdf, excel, etc.
Componentes:
1. Controlador front-end DispatcherServlet (no es necesario que los ingenieros lo desarrollen), proporcionado por el marco
Función: recibir solicitudes y resultados de respuesta. , equivalente a procesador de respuestas, unidad central de procesamiento. El acoplamiento entre otros componentes se puede reducir mediante DispatcherServlet.
Las solicitudes de los usuarios llegan al controlador front-end, que es equivalente al modelo mvc en c. DispatcherServlet es el centro de control de todo el proceso. Llama a otros componentes para procesar las solicitudes de los usuarios. Reduce la fricción entre componentes. Grado de acoplamiento.
2. Mapeador de procesador HandlerMapping HandlerMapping (no requiere desarrollo de ingenieros), proporcionado por el marco
Función: buscar el controlador según la URL de solicitud
HandlerMapping es responsable de encontrar el controlador según el usuario. La solicitud encuentra el controlador donde se encuentra el procesador. Springmvc proporciona diferentes mapeadores para implementar diferentes métodos de mapeo, como: modo de archivo de configuración, modo de interfaz de implementación, modo de anotación, etc.
3. HandlerAdapterHandlerAdapter
Función: ejecutar Handler de acuerdo con reglas específicas (reglas requeridas por HandlerAdapter)
Ejecutado en el procesador a través de HandlerAdapter, este es el modo de adaptador. Las aplicaciones pueden ejecutar cada vez más tipos de controladores ampliando el adaptador.
4. Controlador del procesador (debe ser desarrollado por ingenieros)
Nota: al escribir el controlador, debe seguir los requisitos del HandlerAdapter para que el adaptador pueda ejecutar correctamente el controlador.
El controlador es el controlador de front-end después del controlador de back-end de DispatcherServlet. En el controlador de front-end de DispatcherServlet, el controlador es un controlador de back-end que sigue al controlador de front-end de DispatcherServlet y maneja usuarios específicos. solicitudes bajo el control de DispatcherServlet.
Dado que el controlador implica solicitudes comerciales específicas de los usuarios, los ingenieros generalmente necesitan desarrollar el controlador en función de los requisitos comerciales. Resolución de la vista, basada en el nombre de la vista lógica (vista)
View Resolver es responsable de generar los resultados del procesamiento de la Vista. View Resolver primero resuelve el nombre de la vista lógica en el nombre de la física. ver, es decir, la dirección de la página específica, luego generar el objeto Ver y finalmente renderizar la Vista para mostrar los resultados del procesamiento al usuario a través de la página.
El marco springmvc proporciona muchos tipos de vistas de Vista, que incluyen: jstlView, freemarkerView, pdfView, etc.
Generalmente, los datos del modelo deben mostrarse a los usuarios a través de etiquetas de página o tecnología de plantilla de página, y los ingenieros deben desarrollar páginas específicas según las necesidades comerciales.
6. View (se requieren ingenieros para desarrollar jsp...)
View es una clase que implementa una interfaz y soporta diferentes tipos de View (jsp, freemarker, pdf... )
Referencia: Enciclopedia Baidu-MVC