Está en la página 1de 20

Cristian David

Jhojan Espinosa
Angie Feligrana
Yuliana Lugo
Julian Velásquez
FrameWork
UN FRAMEWORK ES UN ESQUEMA O MARCO DE
TRABAJO QUE OFRECE UNA ESTRUCTURA BASE PARA
ELABORAR UN PROYECTO CON OBJETIVOS
ESPECÍFICOS, UNA ESPECIE DE PLANTILLA QUE SIRVE
COMO PUNTO DE PARTIDA PARA LA ORGANIZACIÓN Y
DESARROLLO DE SOFTWARE.
HISTORIA
STRUTS ES UN FRAMEWORK O ESPACIO DE TRABAJO
QUE FUE CREADO POR CRAIG R. MCCLANAHAN Y QUE
MÁS TARDE DONÓ AL PROYECTO JAKARTA DE LA
APACHE SOFTWARE FOUNDATION. SU PRIMERA
VERSIÓN FUE LIBERADA EN EL AÑO 2001 Y DESDE
ENTONCES HAN SIDO CIENTOS, MILES LOS
DESARROLLADORES QUE HAN CONTRIBUIDO A SU
CONTINUO PERFECCIONAMIENTO Y EVOLUCIÓN.

CRAIG R. MCCLANAHAN ES PROGRAMADOR Y AUTOR


ORIGINAL DEL MARCO APACHE STRUTS PARA CREAR
APLICACIONES WEB. FORMÓ PARTE DEL GRUPO DE
EXPERTOS QUE DEFINIÓ LAS ESPECIFICACIONES
SERVLET 2.2, 2.3 Y JSP 1.1, 1.2. TAMBIÉN ES EL
ARQUITECTO DEL CONTENEDOR DE SERVLETS DE
TOMCAT, CATALINA.
QUE ES?
STRUTS ES UNA HERRAMIENTA DE
SOPORTE PARA EL DESARROLLO DE
APLICACIONES WEB DEL PATRÓN MVC
BAJO LA PLATAFORMA JAVA EE (JAVA
ENTERPRISE EDITION). STRUTS SE
DESARROLLABA COMO PARTE DEL
PROYECTO JAKARTA DE LA APACHE
SOFTWARE FOUNDATION, PERO
ACTUALMENTE ES UN PROYECTO
CONOCIDO COMO APACHE STRUTS.
STRUTS 1
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.UN
FRAMEWORK BÁSICO EN JAVAEE SI SE STRUTS 2
CONSIDERA LA GRAN CANTIDAD DE
STRUTS 2, AUN SIENDO MUCHO MÁS
APLICACIONES EN PRODUCCIÓN QUE LO
POTENTE, FLEXIBLE Y FÁCIL DE USAR,
USAN Y QUE HABRÁ QUE MANTENER
NO HA TENIDO NI DE LEJOS TANTA
TODAVÍA DURANTE UNOS AÑOS.
DIFUSIÓN COMO LA VERSIÓN 1,
SIMPLEMENTE PORQUE AHORA YA
TIENE LA COMPETENCIA DE OTROS
FRAMEWORKS COMO SPRING O JSF.
FUNCIONAMIENTO
STRUTS SE BASA EN EL PATRÓN DE
ARQUITECTURA DE SOFTWARE
MODELO-VISTA-CONTROLADOR (MVC)
EL CUAL SE UTILIZA AMPLIAMENTE Y ES
CONSIDERADO DE GRAN SOLIDEZ. DE
ACUERDO CON ESTE FRAMEWORK, EL
PROCESAMIENTO SE SEPARA EN TRES
SECCIONES DIFERENCIADAS LLAMADAS
EL MODELO, LAS VISTAS Y EL
CONTROLADOR.
MVC y Tags
Sruts implementa el componente Vista del patrón de diseño MVC completamente
mediante el uso de etiquetas personalizadas (término correcto: acción
personalizada). Estas etiquetas se aplican a los JSP que constituyen el componente
View de su aplicación web. Las etiquetas de Struts se agrupan en cinco bibliotecas
de etiquetas:

~~~ HTML: Las etiquetas personalizadas en la biblioteca HTML están


esencialmente en una relación de uno a uno. enviar a la etiqueta <form> HTML
ordinaria y sus etiquetas de entrada asociadas, como las diversas <entrada>
etiquetas. El propósito de esta biblioteca de etiquetas es permitirle conectar su
componente VIEW a los componentes del controlador.
MVC y Tags
~~~ BEAN: esta biblioteca tiene etiquetas personalizadas principalmente para
escribir texto por 2 motivos:

1) Permitir la internacionalización o la visualización del componente VIEW en varios


idiomas.
2) Evitar el uso de scriptlets para mostrar el contenido de los objetos almacenados
en los objetos de solicitud o sesión.

~~~ LOGIC: esta biblioteca proporciona etiquetas para procesamiento condicional


y bucles. Usa etiquetas en la biblioteca de LOGIC en lugar de usar scriptlets. Las
etiquetas de la biblioteca lógica son mucho más fáciles de usar y dan como
resultado un código significativamente más legible.
MVC y Tags

~~~ Anidado (Nested): esta biblioteca tiene etiquetas para mostrar


propiedades "anidadas" de un formulario u objeto.

~~~ Mosaicos (Tiles): esta biblioteca contiene etiquetas que le permiten


crear diseños.
Tags (ejemplos)

No todas las etiquetas de Struts aparecerán en la página mostrada. Algunos tienen


condiciones previas y solo se mostrarán si se cumplen. Por ejemplo, la etiqueta:

Muestra solo si hay mensajes de error que mostrar.

Para una página que no contiene un formulario, esta etapa de reemplazo de


etiquetas finaliza el ciclo de vida de procesamiento de esa página.
Tags (ejemplos)
Representa un campo de texto

Representa un campo de contraseña. El texto


de este campo se muestra como asteriscos.

Representa el botón enviar.


Representa un botón de reinicio para borrar el


formulario.
Tags (ejemplos)
La biblioteca de etiquetas Bean contiene otras etiquetas además de:

Como la etiqueta:

Que permite mostrar las propiedades de los objetos JavaBean.


Evaluación, Reemplazo y Envío

Cuando se solicita una página JSP de Struts, su procesamiento no


involucra al servlet principal de Struts

(ActionServlet) Solo los envíos de datos de formulario involucran


al servlet principal. Es este servlet el que llena la subclase
ActionForm e invoca a execute() en la subclase Action.

Evaluación, Reemplazo y Envío


El procesamiento de una página JSP de Struts se puede resumir en tres pasos:

Evaluación: Algunas etiquetas de Struts (de la biblioteca Logic) o la etiqueta


<html:errors> se evalúan a sí mismas para determinar si realmente deben
mostrarse.

Reemplazo: Los datos se leen de los objetos de solicitud o sesión (o reenvíos


globales) y se pegan en la página renderizada. <html :errors>, por ejemplo,
pega el mensaje de error apropiado.

Envío: La página final se envía al usuario.

ESTOS TRES PASOS SIEMPRE ESTÁN INVOLUCRADOS CUANDO SE


SOLICITA UNA PÁGINA JSP DE STRUTS.
ACCIONES

EN STRUTS, LAS ACCIONES SON CLASES JAVA, UNO DE CUYOS


MÉTODOS SE EJECUTARÁ EN RESPUESTA A UNA PETICIÓN HTTP
DEL CLIENTE.

PARA QUE TODO FUNCIONE ADECUADAMENTE HAY QUE


ASOCIAR LAS PETICIONES CON LAS ACCIONES QUE DISPARARON
E IMPLEMENTARÁN LA LÓGICA DE NEGOCIO DENTRO DE LAS
ACCIONES.
CODIGO JAVA

LAS CLASES ENCARGADAS DE EJECUTAR LAS


ACCIONES DEBEN DESCENDER DE LA CLASE
ABSTRACTA ORG.APACHE.STRUTS.ACTION.ACTION,
PROPORCIONADA POR STRUTS. CUANDO SE EJECUTA
UNA ACCIÓN LO QUE HACE STRUTS ES LLAMAR A SU
MÉTODO EXECUTE, QUE DEBEMOS SOBREESCRIBIR
PARA QUE REALICE LA TAREA DESEADA.
Ciclo de vida típico
de procesamiento de
páginas de Struts
CUANDO ESTO SUCEDE, STRUTS ENVÍA LOS
DATOS DEL FORMULARIO PARA EL
PROCESAMIENTO DE LA LÓGICA COMERCIAL
(POR SU SUBCLASE "ACTION") Y SE MUESTRA
LA PÁGINA "NEXT".

ESTA PODRÍA SER UNA PÁGINA DE ERROR O


PODRÍA TENER MENSAJES DE ERROR EN
CASO DE ERRORES DE VALIDACIÓN
COMPLEJOS.
VENTAJAS
IMPLEMENTA EL PATRÓN DE ARQUITECTURA MVC
(MODEL-VIEW-CONTROLLER) CUYOPROPÓSITO
PRINCIPAL ES SEPARAR EL CÓDIGO DE LA CAPA DE
PRESENTACIÓN DEL CÓDIGODE LA CAPA DE NEGOCIO
FACILITANDO LA ASIGNACIÓN DE ROLES Y LA
ESPECIALIZACIÓN DEFUNCIONES DENTRO DEL
MARCO DE UN PROYECTO

POTENCIA LA REUTILIZACIÓN DE CÓDIGO Y SOPORTA


MÚLTIPLES INTERFACES DE USUARIO(HTML, SHTML,
WML, DESKTOP APPLICATIONS, ETC.)

BENEFICIO EN TÉRMINOS DE COSTO POR LICENCIA:


STRUTS ES UN OPEN SOURCESOFTWARE (OSS), LO
QUE SIGNIFICA QUE SU USO ES LIBRE
DESVENTAJAS
SE REQUIERE POR PARTE DE LOS DESARROLLADORES
UN CONOCIMIENTO PROFUNDO YDETALLADO DE
SERVLETS Y JSPS LO QUE REPRESENTA UNA CURVA
DE APRENDIZAJE, QUEDE REQUERIRSE NO SE
RECOMIENDA EN PROYECTOS CORTOS.

EXISTEN OPINIONES ENCONTRADAS EN CUANTO AL


TEMA DE LA IMPLEMENTACIÓN QUEHACE STRUTS
DEL PATRÓN DE ARQUITECTURA MVC. PARA
MUCHOS, ESTE “CÓDIGOESCONDIDO” LE QUITA
TRANSPARENCIA A LAS APLICACIONES CONSTRUIDAS
CON STRUTS YLAS HACE MÁS DIFÍCIL DE ENTENDE
WIKIPEDIA CONTRIBUTORS. (S/F). APACHE STRUTS. WIKIPEDIA, THE FREE ENCYCLOPEDIA.
HTTPS://ES.WIKIPEDIA.ORG/W/INDEX.PHP?TITLE=APACHE_STRUTS&OLDID=146198319

INTRODUCCIÓN A STRUTS: EL CONTROLADOR Y LAS ACCIONES. (S/F).


JTECH.UA.ES. RECUPERADO EL 29 DE OCTUBRE DE 2022, DE
HTTP://WWW.JTECH.UA.ES/J2EE/PUBLICO/STRUTS-2010-11/SESION01-
STRUTS-APUNTES.HTML

INTRODUCCIÓN A STRUTS: EL CONTROLADOR Y LAS ACCIONES. (S/F).


JTECH.UA.ES. RECUPERADO EL 29 DE OCTUBRE DE 2022, DE

REFERENCIAS HTTP://WWW.JTECH.UA.ES/J2EE/PUBLICO/STRUTS-2010-11/SESION01-STRUTS-
APUNTES.HTML

THOTH. (2017). ¿QUÉ SON LOS STRUTS EN JAVA?


HTTPS://FORMATALENT.COM/QUE-SON-LOS-STRUTS-EN-JAVA/

GALLARDO, A. (2021, AGOSTO 31). ¿CUÁL ES LA DIFERENCIA ENTRE STRUTS 1.XY


STRUTS 2.X? FORO AYUDA. HTTPS://FOROAYUDA.ES/CUAL-ES-LA-DIFERENCIA-
ENTRE-STRUTS-1-XY-STRUTS-2-X/

DORAY, A. (2006). BEGINNING APACHE STRUTS: FROM NOVICE TO PROFESSIONAL.


APRESS. HTTPS://BOOKS.GOOGLE.AT/BOOKS?ID=NTS7564NQRKC

También podría gustarte