MVC con Spring Temas Selectos de Cmputo Ciberntica
MVC con Spring Temas Selectos de Cómputo Cibernética 912 Agosto-Diciembre 2005
Modelo 1 JSP
Modelo 2 JSP. Modelo-Vista-Controlador
Controller • Existen una interfase de Spring, llamada Controller, del paquete org. springframework. web. servlet. mvc • Toda clase Spring que sea controlador, debe implantar la interfase Controller • Dicha clase, retorna a un objeto de tipo Model. And. View public class Login. Control implements Controller { public Model. And. View handle. Request( Http. Servlet. Request arg 0, Http. Servlet. Response arg 1) throws Exception{ }
View • Queda implantado con JSP y JSP Tag. Libs • Utiliza los objetos almacenados por Model. And. View, para desplegarlos en una pagina JSP, usando JSP Tag. Libs
Configurar web. xml • Se debe dar de alta al servlet Dispatcher. Servlet, en el archivo web. xml • Dicho servlet es el responsable de atender toda peticion HTTP enviada al componente Web J 2 EE • En base al descriptor de Spring, sabe como entregar las peticiones HTTP al controlador <? xml version="1. 0" encoding="UTF-8"? > <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc. //DTD Web Application 2. 3//EN' 'http: //java. sun. com/dtd/web-app_2_3. dtd'> <web-app> <servlet-name>loginmvc</servlet-name> <servlet-class>org. springframework. web. servlet. Dispatcher. Servlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>loginmvc</servlet-name> <url-pattern>*. mvc</url-pattern> </servlet-mapping> </web-app>
Configurar Spring Se tiene que configurar los Java. Beans para: Controladores (de tipo Controller) Mapeo de peticiones (de tipo Handler. Mapping) Vista (de tipo View. Resolver) <? xml version="1. 0" ? > <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http: //www. springframework. org/dtd/spring-beans. dtd"> <beans> <bean id="logincontrol" class="mx. edu. ulsa. cib 9122005. controlador. Login. Control" /> <bean class= "org. springframework. web. servlet. view. Internal. Resource. View. Resolver"> <property name="view. Class"> <value>org. springframework. web. servlet. view. Jstl. View</value> </property> <property name="suffix"><value>. jsp</value></property> </bean> <bean class="org. springframework. web. servlet. handler. Simple. Url. Handler. Mapping"> <property name="mappings"> <props> <prop key="/login. mvc">logincontrol</prop> </props> </property> </beans>
Spring MVC y Hibernate • Con Spring se pueden construir aplicaciones Web que usen bases de datos. • Para sistemas transaccionales, Hibernate se utiliza como la herramienta de mapeo de objetos a relaciones. • Spring permite definir los objetos DAO, para realizar las operaciones de creación, modificación, borrado y consultas a base de datos. • Spring encapsula el manejo de Hibernate e inclusive desacopla aplicación del modelo de persistencia seleccionado. • Los controladores de Spring, al recibir las peticiones HTTP, ejecutan código Java que realiza la lógica del sistema; manipula a los objetos DAO involucrados y decide que Vista usar para el despliegue de los resultados. • El manejo de las transacciones es dado por Spring
Arquitectura MVC con Spring y Hibernate
Explicación de la arquitectura MVCPersistencia • El esquema de la base de datos reside en un RDBMS. • En los archivos hbm. xml, se convierten las tablas relacionales a POJOs (Java. Beans) • En el archivo hibernate. cfg. xml se configura la conexión a la base de datos y el dialecto SQL a utilizar • En Spring, se configura un Java. Bean, de tipo Session. Factory. Bean, en el cual se asocian los mapeos y configuración de Hibernate. También se declara al manejador de transacciones, Transaction. Manager, que se asocian a los Java. Bean de sesión • Los Java. Beans DAO, se relacionan con los Java. Bean de sesión Hibernate
Explicación de la arquitectura MVCPresentación • Se codifican uno o mas objetos Controller de Spring, para procesar peticiones HTTP. • Cada Controller realiza la lógica del sistema, el acceso a los DAO, manejo de la transacción y preparación de datos a ser desplegados en la vista. • Las paginas JSP, utilizando JSP Tag Libs, despliegan al resultado. • Se debe configurar al archivo aplicación-servlet. xml en el que se declaran los Java. Beans de tipo Controller; los mapeos de cada acción a HTTP URLs y la vista a ser utilizada (JSPTag. Libs) • En el archivo web. xml se configura al objeto Dispatch. Ser vlet, para recibir todas las peticiones de los navegadores y entregarlas a los Java. Beans de tipo Controller
- Slides: 11