110 likes | 296 Views
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
E N D
MVC con Spring Temas Selectos de Cómputo Cibernética 912 Agosto-Diciembre 2005
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 ModelAndView public class LoginControl implements Controller { public ModelAndView handleRequest( HttpServletRequest arg0, HttpServletResponse arg1) throws Exception{ }
View • Queda implantado con JSP y JSP TagLibs • Utiliza los objetos almacenados por ModelAndView, para desplegarlos en una pagina JSP, usando JSP TagLibs
Configurar web.xml • Se debe dar de alta al servlet DispatcherServlet, en el archivo web.xml • Dicho servlet es el responsable de atender toda peticion HTTP enviada al componente Web J2EE • 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> <servlet-name>loginmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</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 JavaBeans para: Controladores (de tipo Controller) Mapeo de peticiones (de tipo HandlerMapping) Vista (de tipo ViewResolver) <?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.cib9122005.controlador.LoginControl" /> <bean class= "org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"> <value>org.springframework.web.servlet.view.JstlView</value> </property> <property name="suffix"><value>.jsp</value></property> </bean> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/login.mvc">logincontrol</prop> </props> </property> </bean> </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 a la 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
Explicación de la arquitectura MVC- Persistencia • El esquema de la base de datos reside en un RDBMS. • En los archivos hbm.xml, se convierten las tablas relacionales a POJOs (JavaBeans) • 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 JavaBean, de tipo SessionFactoryBean, en el cual se asocian los mapeos y configuración de Hibernate. También se declara al manejador de transacciones, TransactionManager, que se asocian a los JavaBean de sesión • Los JavaBeans DAO, se relacionan con los JavaBean de sesión Hibernate
Explicación de la arquitectura MVC- Presentació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 JavaBeans de tipo Controller; los mapeos de cada acción a HTTP URLs y la vista a ser utilizada (JSPTagLibs) • En el archivo web.xml se configura al objeto DispatchSer vlet, para recibir todas las peticiones de los navegadores y entregarlas a los JavaBeans de tipo Controller