MVC con Spring
description
Transcript of MVC con Spring
![Page 1: MVC con Spring](https://reader036.fdocuments.ec/reader036/viewer/2022082612/56813bea550346895da518d4/html5/thumbnails/1.jpg)
MVC con Spring
Temas Selectos de Cómputo
Cibernética 912
Agosto-Diciembre 2005
![Page 2: MVC con Spring](https://reader036.fdocuments.ec/reader036/viewer/2022082612/56813bea550346895da518d4/html5/thumbnails/2.jpg)
Modelo 1 JSP
![Page 3: MVC con Spring](https://reader036.fdocuments.ec/reader036/viewer/2022082612/56813bea550346895da518d4/html5/thumbnails/3.jpg)
Modelo 2 JSP. Modelo-Vista-Controlador
![Page 4: MVC con Spring](https://reader036.fdocuments.ec/reader036/viewer/2022082612/56813bea550346895da518d4/html5/thumbnails/4.jpg)
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{
}
![Page 5: MVC con Spring](https://reader036.fdocuments.ec/reader036/viewer/2022082612/56813bea550346895da518d4/html5/thumbnails/5.jpg)
View
• Queda implantado con JSP y JSP TagLibs
• Utiliza los objetos almacenados por ModelAndView, para desplegarlos en una pagina JSP, usando JSP TagLibs
![Page 6: MVC con Spring](https://reader036.fdocuments.ec/reader036/viewer/2022082612/56813bea550346895da518d4/html5/thumbnails/6.jpg)
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>
![Page 7: MVC con Spring](https://reader036.fdocuments.ec/reader036/viewer/2022082612/56813bea550346895da518d4/html5/thumbnails/7.jpg)
Configurar Spring
<?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>
Se tiene que configurar los JavaBeans para:Controladores (de tipo Controller)Mapeo de peticiones (de tipo HandlerMapping)Vista (de tipo ViewResolver)
![Page 8: MVC con Spring](https://reader036.fdocuments.ec/reader036/viewer/2022082612/56813bea550346895da518d4/html5/thumbnails/8.jpg)
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
![Page 9: MVC con Spring](https://reader036.fdocuments.ec/reader036/viewer/2022082612/56813bea550346895da518d4/html5/thumbnails/9.jpg)
Arquitectura MVC con Spring y Hibernate
![Page 10: MVC con Spring](https://reader036.fdocuments.ec/reader036/viewer/2022082612/56813bea550346895da518d4/html5/thumbnails/10.jpg)
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
![Page 11: MVC con Spring](https://reader036.fdocuments.ec/reader036/viewer/2022082612/56813bea550346895da518d4/html5/thumbnails/11.jpg)
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