Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CARRERAS PROFESIONALES
CIBERTEC
NDICE
Presentacin Red de contenidos Unidad de aprendizaje 1: Modelo Vista Controlador Patrn MVC
1.1 Tema 1
Pgina
5 6
: Fundamentos de Struts 2
9 9 13 29 51 63
1.1.1. : Arquitectura y Configuracin de aplicaciones 1.1.2. : La clase Action 1.1.3. : Libreras de etiquetas de Struts 2 1.1.4. : Internacionalizacin I18N 1.2 Tema 2
63
de datos
1.2.2. : Librera de Etiquetas de Struts 2 Principales
72
componentes
1.2.3. : Patrn Composite View Struts 2 Tiles
87
: Introduccin a IBATIS
2.1.1. : IBATIS Introduccin 2.1.2. : Operaciones bsicas de acceso a base de datos con
IBATIS
2.2 Tema 4
2.2.1. : Otras operaciones y caractersticas de IBATIS 2.2.2. : Tpicos avanzados de IBATIS e Integracin con
Struts 2
139
CIBERTEC
CARRERAS PROFESIONALES
141
herramienta Ireport
3.2 Tema 6
: Struts 2 y JasperReport
CARRERAS PROFESIONALES
CIBERTEC
PRESENTACIN
Desarrollo de Aplicaciones Web I pertenece a la lnea de Programacin y Desarrollo de Aplicaciones. Es un curso de especialidad slo en la carrera de Computacin e Informtica. Permite al estudiante concretizar proyectos informticos web, aplicando conocimientos previos aprendidos en diferentes cursos y poniendo en prctica la teora adquirida. De esta manera, consolida conocimientos de diversos cursos de especialidad. Es prctico y desarrollado en laboratorio. Se implementarn soluciones web que utilizarn los Frameworks Struts 2 e IBATIS en forma combinada.
El manual para el curso ha sido diseado bajo la modalidad de unidades de aprendizaje, las que se desarrollan durante semanas determinadas. En cada una de ellas, hallar los logros, que debe alcanzar al final de la unidad; el tema tratado, el cual ser ampliamente desarrollado; y los contenidos, que debe desarrollar, es decir, los subtemas. Por ltimo, encontrar las actividades que deber desarrollar en cada sesin, que le permitirn reforzar lo aprendido en la clase.
El curso es eminentemente prctico y se desarrolla ntegramente en laboratorio. En primer lugar, se inicia con el reconocimiento de los principales patrones de arquitectura de software, destacndose el patrn Model View Controller (MVC). Luego, contina con la presentacin del Framework MVC Struts 2. Se profundiza en sus principales caractersticas y componentes. Despus, se desarrollan conceptos de persistencia de datos utilizando para ello el Framework IBATIS. Por ltimo, se concluye con la elaboracin de reportes empresariales, utilizando la herramienta IReport, el lenguaje jasperReport e integrndolos a aplicaciones web creadas con Struts 2.
CIBERTEC
CARRERAS PROFESIONALES
RED DE CONTENIDOS
Introduccin a IBATIS
Tema 5 JasperReport
CARRERAS PROFESIONALES
CIBERTEC
UNIDAD DE APRENDIZAJE
TEMARIO 1.1 Tema 1 : Fundamentos de Struts 2 1.1.1. : Arquitectura y Configuracin de aplicaciones 1.1.2. : La clase Action 1.1.3. : Libreras de etiquetas de Struts 2 1.1.4. : Internacionalizacin I18N
1.2 Tema 2 : Acceso optimizado a base de datos y otras caractersticas de Struts 2 1.2.1. : Uso de un Pool de conexiones para acceso a la fuente de datos 1.2.2. : Librera de Etiquetas de Struts 2 Principales componentes. 1.2.3. : Patrn Composite View Struts 2 Tiles
ACTIVIDADES PROPUESTAS
Los alumnos implementan una aplicacin web bsica, utilizando las principales caractersticas del framework MVC Struts 2.
CIBERTEC
CARRERAS PROFESIONALES
Struts 2 es un framework que implementa el patrn de arquitectura MVC en Java. ste organiza de manera independiente las capas: Model (Objetos del Modelo del Negocio), View (interfaz con el usuario u otro sistema) y la capa Controller (controlador del flujo de la aplicacin. Se muestra, a continuacin, el esquema bsico de funcionamiento de esta arquitectura. La capa Model en Struts 2 inicia con los componentes Action. Debajo de stos, se tendrn diversos componentes: Services (Lgica pura de negocio) DAOs (objetos de persistencia de datos), entre otros. Se muestra, a continuacin, el esquema bsico de la arquitectura MVC implementado por el framework Struts 2.
Figura 1.1
Una caracterstica tpica de la capa View de Struts 2 es el uso de unos componentes especiales denominados Results. stos normalmente son representados por una pgina JSP; sin embargo, puede constituir, tambin, flujos de bytes, objetos del framework Tiles, etc.
CARRERAS PROFESIONALES
CIBERTEC
El componente invocado, normalmente un Action de Struts 2, instanciar y/o utilizar diversos objetos de negocio para concretar la tarea solicitada. Segn el resultado que retorne el componente Action, la capa Controller derivar la respuesta generada a un objeto Result (normalmente una pgina JSP).
1.1.1.1. Ejercicio 1: Aplicacin web bsica de Struts 2 Se probar una aplicacin web con los componentes mnimos para el correcto funcionamiento del framework Struts 2. a) Paso 1: mportar el archivo struts2-blank-2.1.8.1.war Al descargar el framework struts2 ,se tendr acceso a una aplicacin web de prueba, que cuenta con las caractersticas mnimas para que pueda ser ejecutada. Esta aplicacin viene empaquetada dentro del archivo struts2-blank-2.1.8.1.war. Luego, de importarla, se visualizar un proyecto web, tal como se muestra a continuacin:
Notas: 1) El principal archivo de configuracin del Framework es el archivo struts.xml. En l, se registrarn sus principales
CIBERTEC
CARRERAS PROFESIONALES
10
componentes. Se inicia esta sesin con el registro de la clase Action. 2) Puede observar las libreras mnimas con las que todo proyecto basado en Struts 2 debera contar. Dentro de ellas, destaca el archivo struts2-core-2.1.8.1.jar.
<?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>Struts Blank</display-name> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
Notas: 1) Note el registro del filtro controlador del framework Struts 2. Este componente atrapar todas las solicitudes (request) generadas desde un cliente, dado que tiene como alias /*.
CARRERAS PROFESIONALES
CIBERTEC
11
CIBERTEC
CARRERAS PROFESIONALES
12
Un action es, en Struts 2, el primer componente de la capa Model dentro de la arquitectura MVC. Un actions realiza bsicamente tres pasos dentro de una aplicacin web. En primer lugar, recibe las solicitudes (request) enviadas por un cliente y realiza el trabajo inicial para atenderla. Es el componente que interacta con la capa controladora y la capa view. En segundo lugar, acta como un transportador natural de datos entre el objeto request y los componentes de la capa view, esto gracias a las caractersticas de transferencia automtica de datos que tiene struts 2 entre estos. Finalmente, apoya al framework determinando qu result ser retornado en la respuesta que se genere a la solicitud realizada.
Se detalla, a continuacin, un ejercicio, en el cual se apreciarn los principales componentes de la arquitectura MVC utilizando Struts 2.
1.1.2.1. Ejercicio 1: Funcionalidad de Logueo Versin 1 Se simular la funcionalidad de logueo con los componentes bsicos del framework Struts 2 y sin acceso a base de datos.
a) Paso 1: Copiar las principales libreras y archivos de configuracin al proyecto web funcionalidadLogueov1_Inicial
CARRERAS PROFESIONALES
CIBERTEC
13
Notas: 1) Observe que solo se puede copiar el archivo struts.xml dentro de la carpeta src, utilizando la vista Navigator. 2) Distinga las principales libreras y archivos de configuracin en las ubicaciones correctas: libreras en la carpeta lib y archivo de configuracin struts.xml en la carpeta src junto a los archivos fuente.
Notas: 1) Agregue el paquete aprendamos.java.action y, dentro de l, genere la clase LogueoAction. La clase LogueoAction debe contar con la siguiente lgica:
CIBERTEC
CARRERAS PROFESIONALES
14
package aprendamos.java.action; public class LogueoAction { private String usuario; private String clave;
public String getUsuario() { return usuario; } public void setUsuario(String usuario) { this.usuario = usuario; } public String getClave() { return clave; } public void setClave(String clave) { this.clave = clave; } public String execute(){ String vista="exito"; return vista; } }
<action name="logueo" class="aprendamos.java.action.LogueoAction" > <result name="error" <result name="exito" </action> </package> >/logueo.jsp </result> >/bienvenida.jsp </result>
Notas: 1) El alias de la clase action es logueo; por lo tanto, debe modificar el archivo logueo.jsp. Ya no invocar a la clase LogueoServlet sino a LogueoAction.
CARRERAS PROFESIONALES
CIBERTEC
15
Notas: 1) Se puede observar en el url que el alias invocado es logueo. Recuerde que en Struts 2 todas las solicitudes son atrapadas por el filtro controlador del framework. ste invocar al action respectivo sobre la base del registro realizado en el archivo struts.xml. f) Paso 6: Bien!, ha culminado la funcionalidad de logueo
versin 1
1.1.2.2. Ejercicio 2: Funcionalidad de Logueo Versin 2 Se efecta la funcionalidad de logueo con los componentes bsicos del framework e implementando los patrones de diseo DAO (Data Access Object), Service y Business Delegate.
a) Paso 1: Modificar la clase MySqlClienteDAO y verificar su correcta relacin con las clases que implementan el patrn de diseo DAO.
CIBERTEC
CARRERAS PROFESIONALES
16
Dentro de la clase MySqlClienteDAO, debe modificar el mtodo buscaPorUsuario. Complete el cdigo con la lgica mostrada a continuacin:
//ejecutamos ResultSet rs=pst.executeQuery(); //si hay datos, recuperamos un regsitro if(rs.next()){ objClienteDTO = new ClienteDTO(); objClienteDTO.setUsuario(rs.getString(1)); objClienteDTO.setClave(rs.getString(2)); objClienteDTO.setNombre(rs.getString(3)); objClienteDTO.setSueldo(rs.getDouble(4)); objClienteDTO.setSexo(rs.getString(5)); objClienteDTO.setFecnac(rs.getDate(6)); } cn.close();