Monografia de Framework Struts 2
Monografia de Framework Struts 2
Monografia de Framework Struts 2
VII CICLO
MONOGRAFÍA:
STRUTS FRAMEWORK
AUTORES:
DOCENTE:
LIMA - PERÚ
2018
1
Dedicatoria
2
Agradecimientos
3
ÍNDICE
CAPÍTULO I INTRODUCCIÓN ...................................................................................................... 5
OBJETIVOS ...................................................................................................................................... 6
CAPÍTULO II ..................................................................................................................................... 7
2.1. Framework ............................................................................................................................. 7
2.2. Struts....................................................................................................................................... 7
2.3. Por qué usar Struts. Alternativas........................................................................................ 8
2.4. Requerimientos ..................................................................................................................... 9
2.5 Instalación ............................................................................................................................... 9
2.6 Creación de una aplicación Framework Struts ............................................................... 11
2.7. Fundamentos....................................................................................................................... 13
2.7.1. Funcionamiento Clásico de una Aplicación Web ................................................... 13
2.7.2. Modelo vista controlador (MVC) ................................................................................ 14
2.7.3. Cronología .................................................................................................................... 17
2.7.4. TagLibs .......................................................................................................................... 18
2.7.5. Validación ..................................................................................................................... 19
2.7.6. Interceptores ................................................................................................................ 21
2.7.7. OGNL y value stack .................................................................................................... 22
2.7.8. Ventajas de usar Struts .............................................................................................. 22
2.8.8. Desventajas de usar Struts ........................................................................................ 23
2.9. Creación de crud framework struts2 ................................................................................ 24
2.9.1. configuracion de web.xml ........................................................................................... 24
2.9.2. Conexión con la base de datos ................................................................................. 25
2.9.3. Creación de paquete model ....................................................................................... 27
2.9.4. CREACION PAQUETE DAO ..................................................................................... 28
2.9.5. CREACIÓN DE CRUD.JSP ....................................................................................... 32
2.9.6. Creación de paquete action ............................................................................................ 34
CONCLUSIONES ........................................................................................................................... 38
RECOMENDACIONES.................................................................................................................. 38
Bibliografía ....................................................................................................................................... 39
4
CAPÍTULO I
INTRODUCCIÓN
En este trabajo se presentará uno de los Frameworks más usados para el desarrollo
web, Struts Framework es un framework java basado en componentes de alta
performance para desarrollar aplicaciones Web de gran escala.
5
OBJETIVOS
6
CAPÍTULO II
2.1. Framework
1Struts es un framework para construir aplicaciones web Java basadas en la
filosofía MVC. Veremos en este módulo en qué consiste la arquitectura MVC y cómo
la implementa Struts.
Struts es un marco de código abierto que amplía la API de Java Servlet y emplea
una arquitectura de Modelo, Vista y Controlador (MVC). Le permite crear
aplicaciones web mantenibles, extensibles y flexibles basadas en tecnologías
estándar, como páginas JSP, JavaBeans, paquetes de recursos y XML.
2.2. Struts
Antes de entrar en detalles sobre el funcionamiento de Struts vamos a ver
primero la filosofía general de funcionamiento. Veremos también por qué usar Struts
y las posibles alternativas. Hay dos "generaciones" de Struts: la 1.x y la 2. El cambio
de la generación 1 a la 2 no significa únicamente que se hayan añadido nuevas
características. Es un cambio completo, tanto a nivel interno como externo. Cuando
surgió Struts 1 era el único framework existente de este tipo y en su diseño original
había deficiencias en cuanto a flexibilidad y simplicidad de uso. Todo esto se ha
solucionado en la versión 2. No obstante, y de manera paradójica, Struts 2, aun
siendo mucho más potente, flexible y fácil de usar, no ha tenido ni de lejos tanta
difusión como la versión 1, simplemente porque ahora ya tiene la competencia de
otros frameworks como Spring o JSF. Struts 1.x es por tanto, un framework básico
en JavaEE si se considera la gran cantidad de aplicaciones en producción que lo
usan y que habrá que mantener todavía durante unos años. Por eso vamos a ver
sobre todo esta versión. No obstante, para nuevos proyectos la versión
recomendada es la 2.
1
Ciencia de la Computación (2010-2011).
7
2.3. Por qué usar Struts. Alternativas
Antes de hablar de las supuestas bondades de Struts, conviene detenerse
un momento a recalcar la diferencia entre framework y librería. Struts es un
framework, lo cual significa que no solo nos proporciona un API con el que trabajar
(esto ya lo haría una librería) sino también una filosofía de desarrollo, una "forma de
2 hacer las cosas". Por tanto, el primer beneficio de usar un framework es que
estamos haciendo las cosas de una forma ya probada, la misma idea que constituye
la base de los patrones de diseño software. Por supuesto Struts no es el único
framework MVC existente en el mundo J2EE.Aunque existen muchos otros, Struts
es el más extendido con mucha diferencia, hasta el punto de haberse convertirdo
en un estándar "de facto" en el mundo J2EE. Por tanto, usando Struts estamos
seguros de que dispondremos de una gran cantidad de recursos: documentación
(tutoriales, artículos, libros,...) interacción con otros usuarios del framework a través
de foros y similares y una amplia base de desarrolladores expertos a los que
podremos acudir si necesitamos personal para un proyecto.
Hay varios frameworks "alternativos" a Struts. Spring, que veremos en uno de los
módulos siguientes, incorpora también su parte MVC. Webwork, que hasta hace
poco era un framework competidor de Struts se ha unificado con éste dando lugar
a Struts 2. Esta breve discusión sobre otros frameworks "alternativos" no quedaría
completa sin nombrar a JavaServer Faces (JSF), que también se aborda en el
curso. JSF se solapa en algunos aspectos con Struts, ya que también implementa
MVC (aunque de modo distinto). No obstante, la aportación principal de JSF no es
MVC sino los componentes gráficos de usuario (GUI) de "alto nivel" para la web.
2
Ciencia de la Computación (2010-2011).
8
2.4. Requerimientos
Para desarrolladores que deseen utilizar Struts, el entendimiento de
Programación Orientada a Objetos (OOP) será de gran ayuda y el entendimiento
del patrón de arquitectura (MVC).
2.5 Instalación
Para instalar Struts solo debe seguir los siguientes 2 pasos:
9
Ilustración 2 Instalacion de Plugins
10
2.6 Creación de una aplicación Framework Struts
Para crear una aplicación aremos los siguientes pasos
11
3. Ingresamos el nombre del proyecto
12
2.7. Fundamentos
2.7.1.1 4Desventajas
3
Ing. Israel Ortega Cuevas (2017)
4
Ing. Israel Ortega Cuevas (2017)
13
En los jsp se mezcla código HTML con código java (llamadas a bases de
datos, generación de ciclos, etc).
Para un diseñador gráfico puede resultar imposible determinar la apariencia
de la aplicación.
La lógica del negocio se encuentra insertada junto con la visualización de los
datos.
El control de flujo de las páginas de la aplicación se encuentra inmerso en la
programación.
Al no contar con persistencia, se consultan una y otra vez a las tablas de
catálogos.
5
Ing. Israel Ortega Cuevas (2017)
14
Ilustración 9 Ilustración 10 Ciclo de Proceso de MVC en Struts
6
Ciencia de la Computación (2010-2011).
15
validación. Las librerías de etiquetas permiten mostrar errores y facilitar el
trabajo con formularios.
El navegador genera una solicitud que es atendida por el Controller (un Servlet
especializado). El mismo se encarga de analizar la solicitud, seguir la configuración
que se le ha programado en su XML y llamar al Action correspondiente pasándole
los parámetros enviados. El Action instanciará y/o utilizará los objetos de negocio
para concretar la tarea. Según el resultado que retorne el Action, el Controller
derivará la generación de interfaz a una o más JSPs, las cuales podrán consultar
los objetos del Model a fines de realizar su tarea.
16
2.7.3. 7Cronología
2000 Craig R. McClanahan proporciono un marco de trabajo MVC estándar
a la comunidad Java.
2000 Donado a la comunidad Apache en mayo.
2001 julio publico la versión 1.0.
2003 se separa el framework webwork de Struts, que se funciona con Struts
en 2005 que su versión 2.2 es ahora Struts 2.X febrero de 2007.
2.2.7 es la última versión de webwork.
2.1.8.1 16 de noviembre de 2009.
2.3.1 12 de diciembre de 2011.
2.3.34 7 de septiembre de 2017.
2.5.14 23 de noviembre de 2017.
2.5.14.1 30 de noviembre de 2017.
2.5.16 16 de marzo de 2018
7
Ing. Israel Ortega Cuevas (2017)
17
2.7.4. 8TagLibs
Al igual que Struts 1.x, la versión 2 incluye varias taglibs propias. Además de
haberse mejorado, sobre todo se ha simplificado su uso. Por ejemplo, supongamos
que queremos generar el siguiente formulario y asociar sus campos a un vean de
tipo usuario. Además, queremos mostrar los errores de validación, si los hay.
8
Universidad Alicante (2014)
18
• A partir del ejemplo, podemos ver que ha habido varios cambios con respecto
a Struts 1.x:
2.7.5. 9Validación
9
Universidad Alicante (2014)
19
java que la clase de la acción. Veamos un ejemplo, suponiendo que queremos que
login sea obligatorio.
Como se ve, la sintaxis se simplifica bastante con respecto a Struts 1.x. Aunque en
el ejemplo el mensaje de error está fijo en el XML, para simplificar, por supuesto se
puede externalizar a un properties.
Modelo de Error
20
<action name="login"
class="es.ua.jtech.struts2.prueba.acciones.LoginAccion">
<result name="ok">/usuario.jsp</result>
<result name="input">/index.jsp</result>
</action>
2.7.6. 10Interceptores
10
Universidad Alicante (2014)
21
2.7.7. 11OGNL y value stack
El value stack, como su nombre sugiere, es una pila donde se colocan objetos
a los que podemos necesitar acceso en un momento dado. Struts coloca en esta
pila, entre otros, la acción a ejecutar y los ámbitos de aplicación, sesión, petición,
etc.
11
Universidad Alicante (2014)
12
Scribd (2018)
22
basándose en clases predefinidas por el framework, siguiendo el patrón
Facade.La generación de interfaz se soporta mediante un conjunto de Tags
predefinidos por Struts cuyo objetivo es evitar el uso de Scriptlets (trozos de
código Java entre "<%" y "%>"), lo cual genera ventajas de mantenimiento
del código y de performance de la aplicación en desarrollo.
13
Scribd (2018)
23
• En comparación con la tecnología de Servlets y JSPs, los desarrolladores
principiantes encuentran que la documentación en línea de
www.Apache.orges confusa y pobremente organizada. Existen menos libros
de Struts que de Servlets y JSPs.
Paso 1:
24
Paso 2:
Luego creamos un jsp llamado index.jsp en la carpeta Web Pages Y realizamos los
siguientes pasos en Index.jsp.
Paso 1:
25
Paso 2:
Paso3:
Creamos un método getConnection , luego ponemos la ruta del driver mysql y luego
ponemos DRIVERMANAGER.getconnection y ponemos el url, username y pass
luego retornamos con la conexión y créalos una clase close para cerrar la conexión
Declaración de variables
Método de conexión
Cerrar conexión
26
2.9.3. Creación de paquete model
Paso 1:
Creamos un paquete llamado model y dentro del paquete creamos clase llamado
surcursal
Paso 2:
27
2.9.4. CREACION PAQUETE DAO
Paso 1:
Crear el paquete DAO con un Interface SucursalDAO ese sucursalDAO y una clase
SucursalDAOIml:
Paso 2:
28
PASO 3:
Paso 4:
29
Paso 5:
Paso 6:
30
Paso 7:
Paso 8:
El método getsucursalById ese método nos servirá para mostrar datos antes de
actualizar
31
2.9.5. CREACIÓN DE CRUD.JSP
Paso 1:
PASO 2:
32
PASO 3:
CONFIGURACION STRUTS.XML
PASO 1:
Y entramos a struts.xml
33
PASO 2:
Paso 1:
Creamos paquete action y dentro del paquete action creamos una clase llamado
CRUD
34
PASO 2:
35
VistaSISTEMA
36
37
CONCLUSIONES
RECOMENDACIONES
38
BIBLIOGRAFÍA
Ing. Israel Ortega Cuevas (2017). Funcionamiento Clásico de una aplicación.
Recuperado de: https://www.redisybd.unam.mx/rss/ponencias/DGPEStruts2.pdf.
Ing. Israel Ortega Cuevas (2017). Modelo Vista Controlador. Recuperado de:
https://www.redisybd.unam.mx/rss/ponencias/DGPEStruts2.pdf.
39
Scribd (2018). Desventajas de usar Struts. Recuperado de:
https://es.scribd.com/doc/112443456/Ventajas-y-Desventajas-de-Usar-Struts
http://www.jtech.ua.es/j2ee/publico/struts-2010-11/sesion04-struts-apuntes.pdf
40