SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Universidad Laica Eloy Alfaro de Manabí
Facultad de “Ciencias Informáticas”
Estudiante:
Palma Zambrano Laura Lucia
Docente:
Ing. Jorge Pincay Ponce
Asignatura:
Ingeniería de Software II
Curso:
Quinto Nivel Paralelo “B”
Año Lectivo:
2013-2014.
Introducción
¿Qué es Struts?
Es un framework que implementa el patrón de arquitectura MVC en Java
Un framework es la extensión de un lenguaje mediante una o más jerarquías
de clases que implementan una funcionalidad y que (opcionalmente) pueden
ser extendidas. El framework puede involucrar TagLibraries.
El patrón de arquitectura MVC (Model-View-Controller) es un patrón que define
la organización independiente del Model (Objetos de Negocio), la View (interfaz
con el usuario u otro sistema) y el Controller (controlador del workflow de la
aplicación:
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.
PLANTEAMIENTO DE PROBLEMA
En la época en la que vivimos y nos desenvolvemos como personas naturales
o jurídicas es relevante estar en constante cambio, estos cambios son
aplicados en varios aspectos cotidianos tales como, en el desarrollo de
aplicaciones web que nos brindan servicios a los usuarios para ayudarnos a
solucionar algún inconveniente.
Objetivos
Objetivo General
Desarrollar un aplicativo web, tomando como herramienta principal en el
desarrollo el uso del Framework de Java Struts 2, la cual va a permitir tener
un login el cual servirá para proyectos posteriores.
Objetivo Específico
Implementar el Framework Strut 2 en la aplicación a crear
Concebir el Funcionamiento del Framework Strut
Aplicar los Conocimientos Adquiridos con el uso de este framework en el
desarrollo de aplicaciones web Java
Entender el patrón Modelo Vista Controlador
JUSTIFICACIÓN
La utilización de Framework en la actualidad se encuentra en masivo crecimiento
permitiendo el desarrollo de aplicaciones completas en el sentido de que son de
vital ayuda para el programador como para el usuario final.
Considerando el avance de las tecnologías, y la obligación de adaptación a la que
se está expuesto, es conveniente la creación de sistemas o aplicaciones que le
informen a los usuarios los gastos o los egresos que se han producido en el día
con el fin de que a estos se encuentren informados sobre el total del capital que
tiene en existencia.
Framework
La palabra inglesa "framework" (marco de trabajo) define, en términos generales,
un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo
de problemática particular que sirve como referencia, para enfrentar y resolver
nuevos problemas de índole similar.
En el desarrollo de software, un framework o infraestructura digital, es una
estructura conceptual y tecnológica de soporte definido, normalmente con
artefactos o módulos de software concretos, que puede servir de base para la
organización y desarrollo de software. Típicamente, puede incluir soporte
de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas,
para así ayudar a desarrollar y unir los diferentes componentes de un proyecto.
Representa una arquitectura de software que modela las relaciones generales de
las entidades del dominio, y provee una estructura y una especial metodología de
trabajo, la cual extiende o utiliza las aplicaciones del dominio.
¿QUÉ ES UN FRAMEWORK WEB J2EE?
Un framework, es una estructura software compuesta de componentes
personalizables eintercambiables que permiten desarrollar una aplicación. En
otras palabras, un framework se puede considerar como una aplicación genérica
incompleta y configurable a la que podemos agregarle algunas piezas para
construir una aplicación concreta.
Los objetivos principales de los frameworks son: acelerar el proceso de desarrollo,
reutilizar código ya existente y promover buenas prácticas de desarrollo como el
uso de patrones.
En particular, un framework web J2EE, es un conjunto de componentes de
software, por ejemplo clases JAVA, descriptores y archivos de configuración en
XML, basados en la plataforma J2EE y, que constituyen un diseño reutilizable que
facilita y agiliza el desarrollo de sistemas web que se ejecutarán en servidores
J2EE
Struts 2
Struts es un framework para el desarrollo de aplicaciones Web bajo el patrón MVC
en la plataforma Java EE. Su carácter de “software libre” y su compatibilidad con
todas las plataformas en las que Java Entreprise está disponible lo convierten en
una herramienta altamente disponible. La versión 2 del framework introdujo
algunas mejoras sobre la primera versión, de cara a simplificar las tareas más
comunes en el desarrollo de aplicaciones web, así como mejorar su integración
con AJAX, etc.
El framework está diseñado para agilizar el ciclo de desarrollo completo, desde la
construcción, con la implementación, para el mantenimiento de las aplicaciones a
través del tiempo.
Para hacer más fácil presentar datos dinámicos, el framework incluye una
biblioteca de etiquetas web. Las etiquetas interactúan con las validaciones y las
características de internacionalización del framework, para asegurar que las
entradas son válidas, y las salidas están localizadas. La biblioteca de etiquetas
puede ser usada con JSP, FreeMarker, o Velocity; también pueden ser usadas
otras bibliotecas de etiquetas como JSTL y soporta el uso de componentes JSF.
Struts 2 no es precisamente el heredero de Struts 1, sino que es la mezcla de dos
framewoks: WebWork 2 y Struts
Funcionamiento General
Struts se basa en el patrón de diseño MVC el cual separa tres secciones
diferenciadas llamadas Modelo, Vista y Controlador. Esto busca separar el modelo
de datos, las interfaces de usuario y la lógica de negocios en tres componentes
diferentes.
El Modelo
Es básicamente los datos de la aplicación y las reglas de negocio, que serían los
Actions en Struts 2.
Las acciones o Actions son clases encargadas de realizar la lógica para servir una
petición. Cada URL es mapeada a una acción específica, la cual proporciona la
lógica necesaria para servir a cada petición hecha por el usuario.
Estrictamente hablando, las acciones no necesitan implementar una interface o
extender de alguna clase base. El único requisito para que una clase sea
considerada un Action es que debe tener un método que no reciba argumentos
que regrese ya sea un Stringo un objeto de tipo Result. Por default el nombre de
este método debe ser "execute" aunque podemos ponerle el nombre que
queramos y posteriormente indicarlo en el archivo de configuración de Struts.
La Vista
Puede ser cualquier tecnología de vista como los JSP, entre otros. Estos son el
medio por el cual el usuario podrá interactuar con la aplicación. En Struts 2, son
los Results.
Son las respuesta de regreso al usuario. Este proceso tiene dos componentes, el
tipo del result y el result mismo.
El tipo del result indica cómo debe ser tratado el resultado que se le regresará al
cliente. Por ejemplo un tipo de Result puede enviar al usuario de vuelta una JSP,
otro puede redirigirlo hacia otro sitio, mientras otro puede enviarle un flujo de bytes
(para descargar un archivo por ejemplo).
El Controlador
Es el intermediario entre la Vista y el Modelo, ante las peticiones generadas por el
Cliente en la Vista. Así, éste se encarga de invocar al Modelo cualquier cambio en
los datos de la aplicación, para que pueda ser devuelta a la Vista, como respuesta
ante la petición del usuario. En Struts 2, esta tarea la realiza el FilterDispatcher.
El "FilterDispatcher" es el punto de entrada del framework. A partir de él se lanza
la ejecución de todas las peticiones que involucran al framework.
Las principales responsabilidades del "FilterDispatcher" son:
Ejecutar los Actions que son los manejadores de las aplicaciones.
Comenzar la ejecución de la cadena de interceptores (de la que hablaremos en un
momento).
Limpiar el "ActionContext", para evitar fugas de memoria.
VENTAJAS DE USAR STRUTS
A continuación se mencionan las ventajas de usar Struts en el desarrollo de la
capa de presentación para aplicaciones basadas en tecnología Web – Java.
Ventajas:
* Implementa el patrón de arquitectura MVC (Model-View-Controller) cuyo
propósito principal es separar el código de la capa de presentación del código de
la capa de negocio facilitando la asignación de roles y la especialización de
funciones dentro del marco de un proyecto.
* El controlador ya se encuentra implementado por Struts:
Las acciones que se ejecutarán sobre el modelo de objetos de negocio se
implementan 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 Scriplets (ltrozos de código Java entre
"<%" y "%>"), lo cual genera ventajas de mantenimiento del código y de
perfomance de la aplicación en desarrollo.
* Potencia la reutilización de código y soporta múltiples interfaces de usuario
(Html, sHtml, Wml, Desktop applications, etc.).
* Struts implementa varios patrones de diseño de la arquitectura J2EE tales como:
* Service to worker
* Dispatcher View
* Front Controller
* View Helper
* Synchronize (Déjà vu) Token
* Ya que Struts está basado en tecnologías estándares como Java Servlets,
JavaBeans, XML, hereda el ambiente de estos estándares y puede operar con
cualquier tecnología basada en JSP o Servlet.
* Beneficio en términos de costo por licencia: Struts es un Open Source Software
(OSS), lo que significa que su uso es libre.
Desventajas:
• Se requiere por parte de los desarrolladores un conocimiento profundo y
detallado de Servlets y JSPs lo que representa una curva de aprendizaje, quede
requerirse no se recomienda en proyectos cortos.
• 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.
• Existen opiniones encontradas en cuanto al tema de la implementación que hace
Struts del patrón de arquitectura MVC. Para muchos, este “códigoescondido” le
quita transparencia a las aplicaciones construidas con Struts y las hace más difícil
de entender.
• El tiempo de deployment de las aplicaciones desarrolladas con Struts se
incrementa, ya que el servidor de aplicaciones tiene que buscar la ubicación de las
librerías desarrolladas (tags) y las clases a la cuales están asociadas, para
resolverlas y validarlas.
• Fin del mantenimiento El desarrollo de Struts1 ha finalizado aunque dadoel
amplio parque de aplicaciones realizado en esta tecnología significara que solo el
mantenimiento es una razón justificada para conocer la tecnología.
• Cambio El framework ha demostrado problemas arquitectónicos, o mejor dicho a
desvelado mejores acercamientos a problemas que no pueden ser incluidos en su
diseño por el final en su desarrollo.
• Ámbito limitado Struts es una solución web basada en MVC que esta dirigida a
ser implementada con HTML, JSPs y Servlets.
• Soporte J2EE Struts requiere un contenedor de servlets que soporte las
especificaciones JSP 1.1 y Servlet 2.2
• Complejidad Separar el problema en partes introduce complejidad. No
hayninguna duda que hace falta algo de educación para manejar Struts.
• Otros Flujo adaptable y patrón Strategy para el controlador
Diferencias entre Strut y Strut 2
Clases Action
Strut 1.- Requiere clases de acción para extender una clase base abstracta.
Strut 2.-Un acción Struts puede implementar una acción de la interfaz, junto con
otras interfaces para que los servicios opcionales y personalizados. Struts 2
proporciona una clase base ActionSupport para implementar interfaces de uso
común.
Conversión de tipos
Strut 1.- Propiedades ActionForm son usualmente los Strings. Struts 1 utiliza
Commons-BeanUtils de conversión de tipos. Convertidores son por clase, y no se
pueden configurar por ejemplo.
Strut 2.- Utiliza OGNL para la conversión de tipo. El marco incluye convertidores
de tipos primitivos, objetos básicos y comunes.
Validación
Strut 1.- Soporta validación manual por medio de una validación método en el
ActionForm, o a través de una extensión del CommonsValidator.
Strut 2.- Es compatible con validación manual a través de la validación de método
y el marco de validación XWork. La validación Marco XWork admite la validación
de encadenamiento en sub-inmueble con las validaciones definidas para el tipo de
clase de propiedades y el contexto de validación
Materiales Utilizados
Entorno de Desarrollo Integrado= Neetbeans
Lenguaje de Programación= Java
Framework= Strut 2
Sistema de Gestión de Datos = MySql
Configuración
Configuracion de Struts2- Struts.xml
Configurar los actions.
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
<action name="ejecutar" class="com.procesos.ProcesosAction" >
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
Configurar el filtro.
Librerias- JDK- Servidor
Librerias: Struts2
JDK de Java: 1.7
Servidor: Apache Tomcat 7
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=
"http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
¿Que debe contener la o las clases que sirven de
controlador?.
Declaración de un action en el Struts.xml
Etiquetas Struts
Las etiquetas que struts2 nos provee nos ayudan mucho al momento de crear
nuestras vistas, cabe recalcar la importancia del nombre que se le de a cada
control, por que con el, serán accedidos desde la clase de Java
Para poder usar las etiquetas de Struts2 es importante añadir la etiqueta:
<%@ taglib prefix="s" uri="/struts-tags" %>
Al principio de nuestra vista.
Aplicaciones
Calculadora Struts2
Login
HolaMundo en Strut2
Aplicación Automática de Ejemplo de Netbeans
Errores en el IDE Eclipse
InstalaciónNetBeans PrototipoCalculadora
DISEÑO Y CONSTRUCCIÓN DE LA PROPUESTA
Un framework o infraestructura digital, es una estructura conceptual y tecnológica de
soporte definido, normalmente con artefactos o módulos de software concretos, con base
a la cual otro proyecto de software puede ser más fácilmente organizado y desarrollado..
Este proyecto presenta una metodología que permitirá desarrollar un software
orientado a que el usuario tenga un informe diario de los egresos que genera en
el día.
PLANEACIÓN
Nuestro Grupo de Trabajo está conformado por seis integrantes, los cuales han
hecho un trabajo exhaustivo para llevar a cabo este proyecto, hemos trabajado en
equipo como lo es el hecho de aportar ideas para la ejecución y el mejoramiento
de nuestra aplicación y a la vez hemos realizado una parte individual como
investigar sobre nuestra cuenta propia el uso de metodologías ágiles, la
programación y la utilización del frameworkStrut 2
ORGANIZACIÓN
Teniendo en cuenta el perfil de cada una de los miembros del grupo, las áreas de
trabajo quedaran definidas de la siguiente forma:
INVESTIGACIÓN Y ANÁLISIS:
Bello Flores Ramon David
Delgado Alonso Henry Harry
Flores AnchundiaVictor Manuel
Jalca Saltos Luiggi Alexander
Palma Zambrano Laura Lucía
Villamar Alcívar Pedro Alexander
CODIFICACIÓN DEL PROYECTO:
Bello Flores Ramon David
Delgado Alonso Henry Harry
Flores AnchundiaVictor Manuel
Jalca Saltos Luiggi Alexander
Palma Zambrano Laura Lucía
Villamar Alcívar Pedro Alexander
PLANIFICACIÓN DEL PROYECTO.
Para llevar a cabo esta aplicación hemos necesitado de mucha ayuda en especial
del internet, mediante este medio hemos recogido información y nos ha brindado
la ayuda necesaria para entender, comprender y utilizar el frameworkStrut2 .
Conclusiones
Al utilizar framework para desarrollar aplicaciones web obtendremos una ayuda en
al momento de generar codigo o de realizer alguna accion.
Strut es una herramienta que nos permitió desarrollar dichas aplicaciones tales
como la calculadora o el login y que en partes tambien nos permitio o nos facilito
ayuda al momento de ahorarranos líneas de código.
Recomendaciones.
Cuando se va a utlizar o a desarrollar aplicaciones utlizandoframeworks es
necesario primero escoger los componentes a utilizar, escoger y saber el manejar
contenedor de servlets en este caso utlizamos apache tomcatversion 7, es
necesario tener un conocimiento de este programa ya que es de importancia para
que se ejecute las aplicaciones que programaremos.
Dificultades
Las dificultades encontradas en el desarrollo de las aplicaciones de prueba para el
framework Struts2 fueron.
Configuración del servidor.
Error en la conección con la Base de datos.
Configuración del filtrodispacher.
Incovenientes
Para realizar estas aplicaciones utilizamos el Entorno de Desarrollo Integrado
Netbeans, tambien realizamos la prueba en el IDE Eclipse pero no nos funciono
como esperábamos.
Ademas no teníamos conocimiento de como instalar y configurar el Apache
Tomcat eso ocasionó que nos tocara desintalar por varias veces el IDE Neetbean
hasta que le encontramos solucion a dicho problema.
Existieron ocaciones en que al momento de ejecutar la aplicacion esta nos
enviaba un mensaje de error esto se debía a que existía conflictos en el Puerto del
localhost
Referencias Bibliográficas
Concepto de Framework
http://www.programacion.com/articulo/manual_basico_de_struts_156
Concepto de Strut
http://es.wikipedia.org/wiki/Framework
Ventajas
http://es.scribd.com/doc/112443456/Ventajas-y-Desventajas-de-Usar-Struts
Strut 1 Vs Strut 2
http://struts.apache.org/release/2.1.x/docs/comparing-struts-1-and-2.html

Weitere ähnliche Inhalte

Was ist angesagt?

Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasAlex Uhu Colli
 
6-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Conceptos Básicos
6-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Conceptos Básicos6-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Conceptos Básicos
6-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Conceptos BásicosLuis Fernando Aguas Bucheli
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESJesus Caceres Tello
 
Poo introduccion al patron mvc - renee morales calhua
Poo  introduccion al patron mvc - renee morales calhuaPoo  introduccion al patron mvc - renee morales calhua
Poo introduccion al patron mvc - renee morales calhuaRenee Morales Calhua
 
Patron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorPatron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorHenry Vargas
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos Luis Fernando Aguas Bucheli
 
3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción
3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción
3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-IntroducciónLuis Fernando Aguas Bucheli
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010Omar Rios
 
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-20065. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006Samuel Marrero
 
UDA-Anexo gestión de seguridad
UDA-Anexo gestión de seguridadUDA-Anexo gestión de seguridad
UDA-Anexo gestión de seguridadAnder Martinez
 
S8 arely medina_power_point
S8 arely medina_power_pointS8 arely medina_power_point
S8 arely medina_power_pointArely_Medina
 
Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Renan Cayao
 

Was ist angesagt? (20)

Modelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capasModelo vista controlador vas Programacion por n capas
Modelo vista controlador vas Programacion por n capas
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
 
6-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Conceptos Básicos
6-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Conceptos Básicos6-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Conceptos Básicos
6-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Conceptos Básicos
 
Frameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITESFrameworks MVC para desarrollo de UITES
Frameworks MVC para desarrollo de UITES
 
Poo introduccion al patron mvc - renee morales calhua
Poo  introduccion al patron mvc - renee morales calhuaPoo  introduccion al patron mvc - renee morales calhua
Poo introduccion al patron mvc - renee morales calhua
 
4-Unidad 2. Diseños de Vista
4-Unidad 2. Diseños de Vista4-Unidad 2. Diseños de Vista
4-Unidad 2. Diseños de Vista
 
Patron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista ControladorPatron de Desarrollo Modelo Vista Controlador
Patron de Desarrollo Modelo Vista Controlador
 
3-Unidad 1. Arquitectura de Diseño
3-Unidad 1. Arquitectura de Diseño3-Unidad 1. Arquitectura de Diseño
3-Unidad 1. Arquitectura de Diseño
 
MVC
MVCMVC
MVC
 
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos 7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
7-Unidad 2: Diseños de Vista-2.3 Introducción Web Services-Desarrollo Ejemplos
 
2-Unidad 1. Arquitectura de Diseño
2-Unidad 1. Arquitectura de Diseño2-Unidad 1. Arquitectura de Diseño
2-Unidad 1. Arquitectura de Diseño
 
3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción
3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción
3-Unidad 1: Arquitectura de Diseño-1.2 Controlador-Introducción
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-20065. Curso Java Struts I (Framework para Java) - Curso 2005-2006
5. Curso Java Struts I (Framework para Java) - Curso 2005-2006
 
UDA-Anexo gestión de seguridad
UDA-Anexo gestión de seguridadUDA-Anexo gestión de seguridad
UDA-Anexo gestión de seguridad
 
S8 arely medina_power_point
S8 arely medina_power_pointS8 arely medina_power_point
S8 arely medina_power_point
 
Analisis del patron mvc
Analisis del patron mvcAnalisis del patron mvc
Analisis del patron mvc
 
Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...
 

Ähnlich wie Documentacion struts2 laura.palma (20)

Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
Fr amework
Fr ameworkFr amework
Fr amework
 
S01-s1-MVC.pptx
S01-s1-MVC.pptxS01-s1-MVC.pptx
S01-s1-MVC.pptx
 
Framework
FrameworkFramework
Framework
 
Presentación1
Presentación1Presentación1
Presentación1
 
CakePHP
CakePHPCakePHP
CakePHP
 
patrón MVC.pdf
patrón MVC.pdfpatrón MVC.pdf
patrón MVC.pdf
 
modelo MVC.pptx
modelo MVC.pptxmodelo MVC.pptx
modelo MVC.pptx
 
MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)
 
Articulo MVC
Articulo MVC Articulo MVC
Articulo MVC
 
Programacion
ProgramacionProgramacion
Programacion
 
Modelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_DiseñowebModelo vista controlador #ihcpfgigs_Diseñoweb
Modelo vista controlador #ihcpfgigs_Diseñoweb
 
Framework
FrameworkFramework
Framework
 
Framework
FrameworkFramework
Framework
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
Framework by Marcos Acosta
Framework by Marcos AcostaFramework by Marcos Acosta
Framework by Marcos Acosta
 
Health WorldBank 2012
Health WorldBank 2012Health WorldBank 2012
Health WorldBank 2012
 
Framework
FrameworkFramework
Framework
 

Documentacion struts2 laura.palma

  • 1. Universidad Laica Eloy Alfaro de Manabí Facultad de “Ciencias Informáticas” Estudiante: Palma Zambrano Laura Lucia Docente: Ing. Jorge Pincay Ponce Asignatura: Ingeniería de Software II Curso: Quinto Nivel Paralelo “B” Año Lectivo: 2013-2014.
  • 2. Introducción ¿Qué es Struts? Es un framework que implementa el patrón de arquitectura MVC en Java Un framework es la extensión de un lenguaje mediante una o más jerarquías de clases que implementan una funcionalidad y que (opcionalmente) pueden ser extendidas. El framework puede involucrar TagLibraries. El patrón de arquitectura MVC (Model-View-Controller) es un patrón que define la organización independiente del Model (Objetos de Negocio), la View (interfaz con el usuario u otro sistema) y el Controller (controlador del workflow de la aplicación: 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.
  • 3. PLANTEAMIENTO DE PROBLEMA En la época en la que vivimos y nos desenvolvemos como personas naturales o jurídicas es relevante estar en constante cambio, estos cambios son aplicados en varios aspectos cotidianos tales como, en el desarrollo de aplicaciones web que nos brindan servicios a los usuarios para ayudarnos a solucionar algún inconveniente.
  • 4. Objetivos Objetivo General Desarrollar un aplicativo web, tomando como herramienta principal en el desarrollo el uso del Framework de Java Struts 2, la cual va a permitir tener un login el cual servirá para proyectos posteriores. Objetivo Específico Implementar el Framework Strut 2 en la aplicación a crear Concebir el Funcionamiento del Framework Strut Aplicar los Conocimientos Adquiridos con el uso de este framework en el desarrollo de aplicaciones web Java Entender el patrón Modelo Vista Controlador
  • 5. JUSTIFICACIÓN La utilización de Framework en la actualidad se encuentra en masivo crecimiento permitiendo el desarrollo de aplicaciones completas en el sentido de que son de vital ayuda para el programador como para el usuario final. Considerando el avance de las tecnologías, y la obligación de adaptación a la que se está expuesto, es conveniente la creación de sistemas o aplicaciones que le informen a los usuarios los gastos o los egresos que se han producido en el día con el fin de que a estos se encuentren informados sobre el total del capital que tiene en existencia.
  • 6. Framework La palabra inglesa "framework" (marco de trabajo) define, en términos generales, un conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de problemática particular que sirve como referencia, para enfrentar y resolver nuevos problemas de índole similar. En el desarrollo de software, un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, que puede servir de base para la organización y desarrollo de software. Típicamente, puede incluir soporte de programas, bibliotecas, y un lenguaje interpretado, entre otras herramientas, para así ayudar a desarrollar y unir los diferentes componentes de un proyecto. Representa una arquitectura de software que modela las relaciones generales de las entidades del dominio, y provee una estructura y una especial metodología de trabajo, la cual extiende o utiliza las aplicaciones del dominio. ¿QUÉ ES UN FRAMEWORK WEB J2EE? Un framework, es una estructura software compuesta de componentes personalizables eintercambiables que permiten desarrollar una aplicación. En otras palabras, un framework se puede considerar como una aplicación genérica incompleta y configurable a la que podemos agregarle algunas piezas para construir una aplicación concreta. Los objetivos principales de los frameworks son: acelerar el proceso de desarrollo, reutilizar código ya existente y promover buenas prácticas de desarrollo como el uso de patrones. En particular, un framework web J2EE, es un conjunto de componentes de software, por ejemplo clases JAVA, descriptores y archivos de configuración en XML, basados en la plataforma J2EE y, que constituyen un diseño reutilizable que facilita y agiliza el desarrollo de sistemas web que se ejecutarán en servidores J2EE
  • 7. Struts 2 Struts es un framework para el desarrollo de aplicaciones Web bajo el patrón MVC en la plataforma Java EE. Su carácter de “software libre” y su compatibilidad con todas las plataformas en las que Java Entreprise está disponible lo convierten en una herramienta altamente disponible. La versión 2 del framework introdujo algunas mejoras sobre la primera versión, de cara a simplificar las tareas más comunes en el desarrollo de aplicaciones web, así como mejorar su integración con AJAX, etc. El framework está diseñado para agilizar el ciclo de desarrollo completo, desde la construcción, con la implementación, para el mantenimiento de las aplicaciones a través del tiempo. Para hacer más fácil presentar datos dinámicos, el framework incluye una biblioteca de etiquetas web. Las etiquetas interactúan con las validaciones y las características de internacionalización del framework, para asegurar que las entradas son válidas, y las salidas están localizadas. La biblioteca de etiquetas puede ser usada con JSP, FreeMarker, o Velocity; también pueden ser usadas otras bibliotecas de etiquetas como JSTL y soporta el uso de componentes JSF. Struts 2 no es precisamente el heredero de Struts 1, sino que es la mezcla de dos framewoks: WebWork 2 y Struts Funcionamiento General Struts se basa en el patrón de diseño MVC el cual separa tres secciones diferenciadas llamadas Modelo, Vista y Controlador. Esto busca separar el modelo de datos, las interfaces de usuario y la lógica de negocios en tres componentes diferentes. El Modelo Es básicamente los datos de la aplicación y las reglas de negocio, que serían los Actions en Struts 2. Las acciones o Actions son clases encargadas de realizar la lógica para servir una petición. Cada URL es mapeada a una acción específica, la cual proporciona la lógica necesaria para servir a cada petición hecha por el usuario.
  • 8. Estrictamente hablando, las acciones no necesitan implementar una interface o extender de alguna clase base. El único requisito para que una clase sea considerada un Action es que debe tener un método que no reciba argumentos que regrese ya sea un Stringo un objeto de tipo Result. Por default el nombre de este método debe ser "execute" aunque podemos ponerle el nombre que queramos y posteriormente indicarlo en el archivo de configuración de Struts. La Vista Puede ser cualquier tecnología de vista como los JSP, entre otros. Estos son el medio por el cual el usuario podrá interactuar con la aplicación. En Struts 2, son los Results. Son las respuesta de regreso al usuario. Este proceso tiene dos componentes, el tipo del result y el result mismo. El tipo del result indica cómo debe ser tratado el resultado que se le regresará al cliente. Por ejemplo un tipo de Result puede enviar al usuario de vuelta una JSP, otro puede redirigirlo hacia otro sitio, mientras otro puede enviarle un flujo de bytes (para descargar un archivo por ejemplo). El Controlador Es el intermediario entre la Vista y el Modelo, ante las peticiones generadas por el Cliente en la Vista. Así, éste se encarga de invocar al Modelo cualquier cambio en los datos de la aplicación, para que pueda ser devuelta a la Vista, como respuesta ante la petición del usuario. En Struts 2, esta tarea la realiza el FilterDispatcher. El "FilterDispatcher" es el punto de entrada del framework. A partir de él se lanza la ejecución de todas las peticiones que involucran al framework. Las principales responsabilidades del "FilterDispatcher" son: Ejecutar los Actions que son los manejadores de las aplicaciones. Comenzar la ejecución de la cadena de interceptores (de la que hablaremos en un momento). Limpiar el "ActionContext", para evitar fugas de memoria.
  • 9. VENTAJAS DE USAR STRUTS A continuación se mencionan las ventajas de usar Struts en el desarrollo de la capa de presentación para aplicaciones basadas en tecnología Web – Java. Ventajas: * Implementa el patrón de arquitectura MVC (Model-View-Controller) cuyo propósito principal es separar el código de la capa de presentación del código de la capa de negocio facilitando la asignación de roles y la especialización de funciones dentro del marco de un proyecto. * El controlador ya se encuentra implementado por Struts: Las acciones que se ejecutarán sobre el modelo de objetos de negocio se implementan 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 Scriplets (ltrozos de código Java entre "<%" y "%>"), lo cual genera ventajas de mantenimiento del código y de perfomance de la aplicación en desarrollo. * Potencia la reutilización de código y soporta múltiples interfaces de usuario (Html, sHtml, Wml, Desktop applications, etc.). * Struts implementa varios patrones de diseño de la arquitectura J2EE tales como: * Service to worker * Dispatcher View * Front Controller * View Helper * Synchronize (Déjà vu) Token * Ya que Struts está basado en tecnologías estándares como Java Servlets, JavaBeans, XML, hereda el ambiente de estos estándares y puede operar con cualquier tecnología basada en JSP o Servlet. * Beneficio en términos de costo por licencia: Struts es un Open Source Software (OSS), lo que significa que su uso es libre.
  • 10. Desventajas: • Se requiere por parte de los desarrolladores un conocimiento profundo y detallado de Servlets y JSPs lo que representa una curva de aprendizaje, quede requerirse no se recomienda en proyectos cortos. • 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. • Existen opiniones encontradas en cuanto al tema de la implementación que hace Struts del patrón de arquitectura MVC. Para muchos, este “códigoescondido” le quita transparencia a las aplicaciones construidas con Struts y las hace más difícil de entender. • El tiempo de deployment de las aplicaciones desarrolladas con Struts se incrementa, ya que el servidor de aplicaciones tiene que buscar la ubicación de las librerías desarrolladas (tags) y las clases a la cuales están asociadas, para resolverlas y validarlas. • Fin del mantenimiento El desarrollo de Struts1 ha finalizado aunque dadoel amplio parque de aplicaciones realizado en esta tecnología significara que solo el mantenimiento es una razón justificada para conocer la tecnología. • Cambio El framework ha demostrado problemas arquitectónicos, o mejor dicho a desvelado mejores acercamientos a problemas que no pueden ser incluidos en su diseño por el final en su desarrollo. • Ámbito limitado Struts es una solución web basada en MVC que esta dirigida a ser implementada con HTML, JSPs y Servlets. • Soporte J2EE Struts requiere un contenedor de servlets que soporte las especificaciones JSP 1.1 y Servlet 2.2 • Complejidad Separar el problema en partes introduce complejidad. No hayninguna duda que hace falta algo de educación para manejar Struts. • Otros Flujo adaptable y patrón Strategy para el controlador
  • 11. Diferencias entre Strut y Strut 2 Clases Action Strut 1.- Requiere clases de acción para extender una clase base abstracta. Strut 2.-Un acción Struts puede implementar una acción de la interfaz, junto con otras interfaces para que los servicios opcionales y personalizados. Struts 2 proporciona una clase base ActionSupport para implementar interfaces de uso común. Conversión de tipos Strut 1.- Propiedades ActionForm son usualmente los Strings. Struts 1 utiliza Commons-BeanUtils de conversión de tipos. Convertidores son por clase, y no se pueden configurar por ejemplo. Strut 2.- Utiliza OGNL para la conversión de tipo. El marco incluye convertidores de tipos primitivos, objetos básicos y comunes. Validación Strut 1.- Soporta validación manual por medio de una validación método en el ActionForm, o a través de una extensión del CommonsValidator. Strut 2.- Es compatible con validación manual a través de la validación de método y el marco de validación XWork. La validación Marco XWork admite la validación de encadenamiento en sub-inmueble con las validaciones definidas para el tipo de clase de propiedades y el contexto de validación
  • 12. Materiales Utilizados Entorno de Desarrollo Integrado= Neetbeans Lenguaje de Programación= Java Framework= Strut 2 Sistema de Gestión de Datos = MySql Configuración Configuracion de Struts2- Struts.xml Configurar los actions. <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <!-- Configuration for the default package. --> <package name="default" extends="struts-default"> <action name="ejecutar" class="com.procesos.ProcesosAction" > <result name="success">/index.jsp</result> </action> </package> </struts>
  • 13. Configurar el filtro. Librerias- JDK- Servidor Librerias: Struts2 JDK de Java: 1.7 Servidor: Apache Tomcat 7 <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <session-config> <session-timeout> 30 </session-timeout> </session-config> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
  • 14. ¿Que debe contener la o las clases que sirven de controlador?.
  • 15. Declaración de un action en el Struts.xml Etiquetas Struts Las etiquetas que struts2 nos provee nos ayudan mucho al momento de crear nuestras vistas, cabe recalcar la importancia del nombre que se le de a cada control, por que con el, serán accedidos desde la clase de Java Para poder usar las etiquetas de Struts2 es importante añadir la etiqueta: <%@ taglib prefix="s" uri="/struts-tags" %> Al principio de nuestra vista.
  • 17. HolaMundo en Strut2 Aplicación Automática de Ejemplo de Netbeans
  • 18. Errores en el IDE Eclipse InstalaciónNetBeans PrototipoCalculadora
  • 19. DISEÑO Y CONSTRUCCIÓN DE LA PROPUESTA Un framework o infraestructura digital, es una estructura conceptual y tecnológica de soporte definido, normalmente con artefactos o módulos de software concretos, con base a la cual otro proyecto de software puede ser más fácilmente organizado y desarrollado.. Este proyecto presenta una metodología que permitirá desarrollar un software orientado a que el usuario tenga un informe diario de los egresos que genera en el día. PLANEACIÓN Nuestro Grupo de Trabajo está conformado por seis integrantes, los cuales han hecho un trabajo exhaustivo para llevar a cabo este proyecto, hemos trabajado en equipo como lo es el hecho de aportar ideas para la ejecución y el mejoramiento de nuestra aplicación y a la vez hemos realizado una parte individual como investigar sobre nuestra cuenta propia el uso de metodologías ágiles, la programación y la utilización del frameworkStrut 2 ORGANIZACIÓN Teniendo en cuenta el perfil de cada una de los miembros del grupo, las áreas de trabajo quedaran definidas de la siguiente forma: INVESTIGACIÓN Y ANÁLISIS: Bello Flores Ramon David Delgado Alonso Henry Harry Flores AnchundiaVictor Manuel Jalca Saltos Luiggi Alexander Palma Zambrano Laura Lucía Villamar Alcívar Pedro Alexander
  • 20. CODIFICACIÓN DEL PROYECTO: Bello Flores Ramon David Delgado Alonso Henry Harry Flores AnchundiaVictor Manuel Jalca Saltos Luiggi Alexander Palma Zambrano Laura Lucía Villamar Alcívar Pedro Alexander PLANIFICACIÓN DEL PROYECTO. Para llevar a cabo esta aplicación hemos necesitado de mucha ayuda en especial del internet, mediante este medio hemos recogido información y nos ha brindado la ayuda necesaria para entender, comprender y utilizar el frameworkStrut2 .
  • 21. Conclusiones Al utilizar framework para desarrollar aplicaciones web obtendremos una ayuda en al momento de generar codigo o de realizer alguna accion. Strut es una herramienta que nos permitió desarrollar dichas aplicaciones tales como la calculadora o el login y que en partes tambien nos permitio o nos facilito ayuda al momento de ahorarranos líneas de código. Recomendaciones. Cuando se va a utlizar o a desarrollar aplicaciones utlizandoframeworks es necesario primero escoger los componentes a utilizar, escoger y saber el manejar contenedor de servlets en este caso utlizamos apache tomcatversion 7, es necesario tener un conocimiento de este programa ya que es de importancia para que se ejecute las aplicaciones que programaremos.
  • 22. Dificultades Las dificultades encontradas en el desarrollo de las aplicaciones de prueba para el framework Struts2 fueron. Configuración del servidor. Error en la conección con la Base de datos. Configuración del filtrodispacher. Incovenientes Para realizar estas aplicaciones utilizamos el Entorno de Desarrollo Integrado Netbeans, tambien realizamos la prueba en el IDE Eclipse pero no nos funciono como esperábamos. Ademas no teníamos conocimiento de como instalar y configurar el Apache Tomcat eso ocasionó que nos tocara desintalar por varias veces el IDE Neetbean hasta que le encontramos solucion a dicho problema. Existieron ocaciones en que al momento de ejecutar la aplicacion esta nos enviaba un mensaje de error esto se debía a que existía conflictos en el Puerto del localhost
  • 23. Referencias Bibliográficas Concepto de Framework http://www.programacion.com/articulo/manual_basico_de_struts_156 Concepto de Strut http://es.wikipedia.org/wiki/Framework Ventajas http://es.scribd.com/doc/112443456/Ventajas-y-Desventajas-de-Usar-Struts Strut 1 Vs Strut 2 http://struts.apache.org/release/2.1.x/docs/comparing-struts-1-and-2.html