Los componentes centrales de SpringMVC
DespachadorServlet -> Controlador, Entrada de solicitud
Handermapping-> controlador, distribución de solicitudes
Controlador "¿Controlador, Proceso de procesamiento de solicitudes
ModelAndView ---> Modelo, Encapsular los resultados y las vistas del procesamiento de negocios
ViewResolver ---> Ver, Ver procesador de visualización
Proceso de procesamiento
El navegador emite una solicitud para someterse y entrega la solicitud al controlador frontal despachador para procesar.
El controlador encuentra el componente del controlador correspondiente para manejar la solicitud a través de Handermapping.
Ejecute el método acordado por el componente del controlador para procesar la solicitud y llame al componente del modelo para completar el procesamiento comercial en el método de la convención. El método de la convención puede devolver un objeto ModelAndView, que encapsula los datos de los resultados de procesamiento empresarial y la información del nombre de la vista.
Después de que el controlador recibe el ModelAndView, llama al componente ViewResolver, localiza la vista (JSP) y pasa información para generar el resultado de la interfaz de respuesta.
La configuración de comentarios tiene muchas ventajas sobre la configuración XML:
Puede hacer uso completo del mecanismo de reflexión de Java para obtener información de estructura de clase, lo que puede reducir efectivamente el trabajo de configuración. Si usa la anotación JPA para configurar el mapeo de ORM, no necesitamos especificar el nombre del atributo, el tipo y otra información del PO. Si el campo de la tabla de relaciones y el nombre y el tipo de atributo PO son los mismos, ni siquiera necesita escribir información de mapeo de atributos de tareas, porque esta información se puede obtener a través del mecanismo de reflexión de Java.
Los comentarios y el código Java se encuentran en el mismo archivo, mientras que las configuraciones XML utilizan archivos de configuración independientes. La mayoría de la información de configuración no se ajustará después de que se desarrolle el programa. Si la información de configuración y el código Java se unen, ayudará a mejorar la cohesión del programa. Utilizando archivos de configuración XML independientes, los programadores a menudo necesitan cambiar entre archivos de programa y archivos de configuración al escribir una función. Esta inconsistencia en el pensamiento reducirá la eficiencia del desarrollo.
Componente del controlador
El componente del controlador es responsable de realizar un procesamiento comercial específico, y es necesario implementar la interfaz del controlador y los métodos acordados durante la escritura.
Componente modelandview
El componente de la Convención del Controlador devolverá un objeto ModelAndView, que encapsula los datos del modelo de resultado de procesamiento empresarial y la información de la vista.
El constructor ModelAndView es el siguiente:
-ModelandView (StringViewName)
-ModelandView (StringViewName, MapModel)
donde el nombre de vista es el nombre de la página JSP, y los datos del modelo se almacenan en el atributo de solicitud
Componente manual
A través del componente Handermapping, el controlador DispatcherServlet puede asignar solicitudes HTTP al componente del controlador.
-SimpleuseSerHandlermapping mantiene una solicitud de solicitud HTTP y una relación de mapeo de controlador (MAP) para llamar al controlador de acuerdo con la relación de correspondencia de la lista.
SimpleUsUsUserHandlermapping
<Bean> <Property Name = "Mappes"> <props> <prot key = "/login.form"> logincontroller </prop> <props> </prop key = "/hello.form"> hellocontroller </prop> </property> </bean iD = "hellocontroller"/>>
El hellocontroller en la etiqueta SimpleuserHandlermapping arriba corresponde al componente cuya ID es HELOCONTROLOR en la etiqueta de frijoles a continuación.
Requestmappinghandlermapping
Resasta
Use la anotación @ResquestMapping en la clase de controlador y los métodos para especificar la solicitud HTTP del cliente correspondiente.
Componente ViewResolver
Todos los componentes del controlador devuelven una instancia de ModelAndView, encapsulando el nombre de la vista, la vista en Spring se identifica con el nombre y la vista View ViewResolver resuelve la vista a través del nombre.
InternalresourceViewResolver envuelve servlets y jsps, utilizando ejemplos:
<bean id = "jspViewResolver"> <Property name = "prefix" value = "/web-inf/jsp/"/> <propiedad name = "sufix" value = ". jsp"/> </bean>
Por ejemplo: el nombre de vista Hello se puede asignar a /web-inf/hello.jsp a través de la configuración anterior
Anotación del controlador
Generalmente usamos la anotación @Controller para declarar el componente del controlador, lo que lo hace más flexible y no necesita implementar la interfaz del controlador como antes.
@ControllerPublic Class HELOCONTROLLER {public String Execute () {return "Hello"; }}Hay un requisito previo para usar la anotación anterior, que es para habilitar el escaneo de anotaciones:
<context: componente-scan base-paquete = "org.test.controller">
El paquete base escribe el paquete donde se encuentra el componente del controlador.
Anotación de remapado
RESQUESTMAPPing indica a qué solicita esta clase o método corresponde.
@Controlador @resquestmapping ("/test1") public class HELOCONTROLLER {@ResquestMapping ("/Hello.Form") public String HelloExeCute () {return "Hello"; }}Si necesita usar SolicSmapping, debe definir dos componentes de frijoles en el archivo de configuración de Spring XML SolicingMappingHandLermapping (antes de la definición de clase) y RequestMappingAdapter (antes de la definición del método), por ejemplo (se debe definir en la versión 3.1 de Spring)::
<bean/> <bean/>
La versión Spring 3.2 no necesita ser definida
<MVC: impulsado por anotación/>
Resumir
Lo anterior es la breve introducción de las notas sobre la primavera en este artículo, y espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!