SPRING MVC.

Slides:



Advertisements
Presentaciones similares
JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)
Advertisements

Las aplicaciones requieren datos persistentes
Red Social: “Un millón de Amigos”.
Red Social: “Un millón de Amigos”.
Introducción a HIBERNATE
POLIMORFISMO UNIDAD 4.
Capa de Persistencia Daniel Fernández Lanvin.
Lenguaje de programación Java
Patrón MVC con STRUTS.
Servicios Web.
PATRON DAO Data Access Object (OBJETO DE ACCESO A DATOS)
"java del lado del servidor" Servlet y JSP Java Server Pages.
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
Arquitectura de la Aplicación
Framework Hexápodo PHP fácil, rápido y sin dolor
Spring Framework v2.5.
Model View Controller (MVC)
Índice 1. Introducción, objetivos y justificación del proyecto.
JSP Copyright ISIPE – Instituto de Servicios Informáticos para Empresas – Universidad Siglo 21 – Cualquier copia u otro uso debe ser autorizado expresamente.
Curso de Java y Aplicaciones Web
Java 2 Platform Enterprise Edition
Sesión en Servlets 31 de Marzo de Índice ¿Por qué seguir la trayectoria de usuarios? Formas de seguir la trayectoria de usuarios –Cookies –Reescritura.
Enterprise Java Beans Rubén Trujillo Sept-Dic 2008.
RESUMENCURSO STRUTS 2 Resumen de lo visto en este tercer módulo: VISTA del framework Struts 2 Debes tener los conceptos muy claros sobre: Results UI Tags.
Aplicaciones Web con Oracle y XML 5 años de experiencias Universidad de las Islas Baleares Centro de Tecnologías de la Información Daniel López.
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Contexto: Aplicación gráfica.  Siempre que se piensa en separar la funcionalidad de una aplicación de su interacción con el usuario, bien sea una aplicación.
Implementación del patrón Modelo-Vista-Controlador
Servlets, JSP, JavaBEANS,JDBC
Java Server Faces.
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Tutor: Ing. Juan E. Talavera Horn 2010 GWT – EJB Patrones de diseño e integración.
CURSO STRUTS 2 RESUMEN Resumen de lo visto en este primer módulo de INTRODUCCIÓN al framework Struts 2 Debes tener los conceptos muy claros sobre: Framework.
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
Contextos e Inyección Dependiente (CDI)
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
Spring Framework. Contenedor ligero de aplicaciones
MÓDULO 1: Introducción al framework Struts 2
Modelo-Vista-Controlador Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación original fue realizada en Smalltalk.
FRAMEWORK VS Código fuente
IS2Objetos Distribuidos - J2EE,RMI1 Ingeniería del software II Ingeniería Web.
Aplicaciones Web de Servidor
Contacta un Servlet o un JSP
Daniel Fernández Lanvin Capa de Infraestructura. Daniel Fernández Lanvin Capa de Infraestructura Adyacente a todas las demás. Comprende todos aquellos.
Daniel Fernández Lanvin Capa de Presentación. Daniel Fernández Lanvin Capa de Presentación Responsabilidades Navegabilidad del sistema Formateo de los.
IS2Objetos Distribuidos - J2EE,RMI1 Ingeniería del software II Ingeniería Web.
MVC con Spring Temas Selectos de Cómputo Cibernética 912 Agosto-Diciembre 2005.
Manual Desarrollo Flex – J2EE. Contenidos Análisis y Diseño 1 Implementación 2 J2EE 3 Pruebas 4.
Jakarta Struts version Juan Manuel Zorrilla Gamarra Mario Titto Acostupa.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
CONTRATOS DE CLIENTES Orlando Sedamano Cornejo Marco Bustinza
SOFTTEK INTERNAL © Copyright All Rights Reserved. Valores Corporativos Softtek S.A. de C.V. Struts Academia Java.
© Softtek Internal. Introducción a Spring Sesión 1: Introducción y teoría Juan Irungaray
Cairngorm Framework v2.2. Mate Framework Prototipos rápidos Aplicación con compleja o repetitiva lógica Independencia en el desarrollo de UI de la lógica.
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Guadalupe Andrade Mociño.  Significa Modelo Vista Controlador  Es un patrón de diseño  Esta compuesto por tres grandes capas: modelo, vista y controlador.
Your Logo ING. FREDY ALEXANDER MARTINEZ. Here comes your footer  Page 2 Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación.
Aclaraciones al modelo MVC del Framework de Justicia
Generador de Páginas Hélio Martins
Integrantes Miguel Betancourt Alexis Tacuri.  Activiti es una plataforma para la formación de flujos de trabajo y procesos empresariales dentro del.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Arquitectura de Software Propuesta SIGEP
SIGEP Presentación de Resultados SIGEP. SIGEP Ambiente de Desarrollo  Plataforma Java ( J2EE,JRE,JDK,JVM ).  Contenedor Web ( Tomcat 5 )  Control de.
JSF Simplificando nuestro trabajo. JSF – Java Server Faces Celula Creative SUN 2 La principal intención es liberar al programador de aspectos Web Pretende.
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Transcripción de la presentación:

SPRING MVC

Qué es Spring ? Spring es un framework de aplicaciones Java/J2EE desarrollado usando licencia de OpenSource. Se basa en una configuración a base de JavaBeans bastante simple. Es interesante el uso de programación orientada a aspectos (IoC). Tiene plantillas que permiten un más fácil uso de Hibernate, iBatis, JDBC..., se integra "de fábrica" con Quartz, Velocity, Freemarker, Struts, Webwork2 y tienen un plugin para eclipse. Ofrece un ligero contenedor de bean para los objetos de la capa de negocio, DAOs y repositorio de Datasources JDBC y sesiones Hibernate. El objetivo de Spring es no ser intrusivo, aquellas aplicaciones configuradas para usar beans mediante Spring no necesitan depender de interfaces o clases de Spring, pero obtienen su configuración a través de las propiedades de sus beans. Este concepto puede ser aplicado a cualquier entorno, desde una aplicación J2EE a un applet. La meta a conseguir es separar los accesos a datos y los aspectos relacionados con las transacciones, para permitir objetos de la capa de negocio reutilizables que no dependan de ninguna estrategia de acceso a datos o transacciones. Spring ofrece una manera simple de implementar DAOs basados en Hibernate sin necesidad de manejar instancias de sesión de Hibernate o participar en transacciones. No necesita bloques “try-catch”, innecesario para el chequeo de transacciones.

Qué proporciona ? Una potente gestión de configuración basada en JavaBeans, aplicando los principios de Inversión de Control (IoC). Esto hace que la configuración de aplicaciones sea rápida y sencilla. Una capa de abstracción JDBC que ofrece una significativa jerarquía de excepciones (evitando la necesidad de obtener de SQLException los códigos que cada gestor de base de datos asigna a los errores), simplifica el manejo de errores, y reduce considerablemente la cantidad de código necesario. Un framework MVC (Model-View-Controller), construido sobre el núcleo de Spring. Este framework es altamente configurable vía interfaces y permite el uso de múltiples tecnologías para la capa vista como pueden ser JSP, Velocity, Tiles, iText o POI. De cualquier manera una capa modelo realizada con Spring puede ser fácilmente utilizada con una capa web basada en cualquier otro framework MVC, como Struts, WebWork o Tapestry. El objetivo central de Spring es permitir que objetos de negocio y de acceso a datos sean reutilizables, no atados a servicios J2EE específicos. Estos objetos pueden ser reutilizados tanto en entornos J2EE (Web o EJB), entornos de pruebas, etc.… sin ningún problema. La arquitectura en capas de Spring ofrece mucha de flexibilidad.

Qué es IoC ? Spring se basa en IoC. IoC es lo que nosotros conocemos como El Principio de Inversión de Dependencia, Inversion of Control" (IoC) o patrón Hollywood ("No nos llames, nosotros le llamaremos") .Traduciendo este principio a términos de este trabajo, en lugar de que el código de la aplicación llame a una clase de una librería, un framework que utiliza IoC llama al código. Es por esto que se le llama "Inversión", ya que invierte la acción de llamada a alguna librería externa. consiste en: Un Contenedor que maneja objetos por ti. El contenedor generalmente controla la creación de estos objetos. Por decirlo de alguna manera, el contenedor hace los “new” de las clases java para que no los realices tu. El contenedor resuelve dependencias entre los objetos que contiene.

Funcionamiento

Funcionamiento [1] Las peticiones pasan a través de un servlet que actúa de Front Controller (DispatcherServlet). [2] El DispatcherServlet consulta a un HandlerMapping para decidir a que controlador le pasa la petición. Usa la URL de la solicitud para decidir. [3 - 4] El controlador procesa la petición, accede a la lógica de negocio y potencialmente obtiene resultados (modelo, un Map) además selecciona la vista para presentar el modelo. Para que el controlador no esté acoplado a la vista, se devuelve un identificador lógico ( nombre) de vista. Devuelve al DispatcherServlet un objeto que encapsula ambos: ModelAndView. [5] El DispatcherServlet utiliza un ViewResolver para resolver el nombre en una vista concreta Normalmente un JSP, pero se soportan otros Velocity, XSLT, Tiles, … [6] El DispatcherServlet utiliza la vista para mostrar el modelo al usuario.

DispatcherServlet Objeto de la clase DispatcherServlet del paquete org.springframework.web.servlet. Actúa como un broker: despacha las peticiones que recibe al controlador responsable de tratarlas. Configurar el /WEB-INF/web.xml de la aplicación para que el dispatcher reciba las peticiones. Lee su configuración del fichero dispatcher-servlet.xml : Ubicado en el /WEB-INF/ de la aplicación Referencia al HandlerMapping Referencias a los controladores Referencia al ViewResolver

HandlerMapping Interfaz HandlerMapping del paquete org.springframework.web.servlet Spring proporciona varias implementaciones. Dos de las más utilizadas son: Paquete: org.springframework.web.servlet.handler BeanNameUrlHandlerMapping - Selección por nombre del bean (el nombre coincide con la URL de invocación). Es el HandlerMapping por defecto. <bean name="/home.htm" class="this.is.an.example.HomePageController"/> SimpleUrlHandlerMapping - Se define una tabla que asocia URLs a controladores.

Controller Interfaz Controller del paquete org.springframework.web.servlet.mvc Método principal: ModelAndView handleRequest(HttpServletRequest request,HttpServletResponse response) throws Exception; Usualmente para implementar un controlador se extiende de la clase abstracta AbstractController del mismo paquete. Al controlador se le inyecta (si es necesario) la referencia al bean que ofrece el servicio de la lógica de negocio.

ViewResolver Interfaz ViewResolver del paquete org.springframework.web.servlet Método: View resolveViewName(String viewName, Locale locale) throws Exception Spring ofrece algunas implementaciones: Paquete: org.springframework.web.servlet.view ResourceBundleViewResolver - Un fichero bundle contiene las definiciones de vista (mapeo nombre de vista a implementación de vista). Por ejemplo, bundle views_EN.properties: nombre-vista.class = org.springframework.web.servlet.view.JstlView nombre-vista.url=/WEB-INF/views/en_GB/user/edit.jsp UrlBasedViewResolver - No mapeo: el nombre es directamente una referencia a la vista. - No implementa soporte para localización.

View Interfaz View del paquete org.springframework.web.servlet Métodos principales: String getContentType() void render(Map model, HttpServletRequest request, HttpServletResponse response) throws Exception Spring proporciona múltiples implementaciones de esta interfaz - JstlView, VelocityView, TilesView, XsltView, ...

Ahora Veamos el Código