Upload
robertcabeza9697
View
45
Download
0
Embed Size (px)
Citation preview
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 1/62
Struts : MVC en Java
8º Seminario Internacional deInformática y Sistemas
Ing. Ana María Pacheco Aspilcueta
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 2/62
Agenda
Introducción
Conceptos fundamentales
Apache Struts Framework Características
Controlador
Vista
Modelo
Utilización
Apache Struts Project
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 3/62
Introducción
Las aplicaciones Web son diferentes a lossitios Web convencionales porque éstas
son capaces de crear una respuestadinámica.
Muchos sitios Web ofrecen sólo páginasestáticas, en cambio una aplicación Web es
capaz de interactuar con bases de datos ylógica de negocios con la finalidad depersonalizar la respuesta a enviar.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 4/62
Introducción (…)
Cuando aparecieron los Servlets Java, losdesarrolladores se dieron cuenta de que
eran más rápidos y más potentes que elCGI estándar, eran portables y extensibles.
Lo problemático del asunto era el hecho detener que escribir infinitas sentencias
println() para enviar código HTML alnavegador. Como respuesta a estosurgieron las JavaServer Pages.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 5/62
Introducción (…)
Los JSP permiten escribir código Javadentro de ellos, pudiendo así mezclar
fácilmente HTML con Servlets y tener todaslas ventajas de éstos.
Sin embargo este modelo no resolvíatodavía los problemas propios de las
aplicaciones Web, como control de flujo porejemplo.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 6/62
Introducción (…)
Las aplicaciones Web en general tienen tresaspectos a considerar en su desarrollo: El código de acceso, inserción, consulta,
actualización y/o eliminación de los datos. El código del diseño de las páginas a mostrar.
El código que controla el flujo de las páginas dela aplicación.
Con la práctica nos damos cuenta que siuna aplicación Web grande tiene estosaspectos muy mezclados se vuelve difícil demantener.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 7/62
Introducción (…)
Una forma de separar estos aspectos esusando la arquitectura MVC: Modelo-Vista-
Controlador, donde: El modelo representa a la lógica de negocios
(manipulación de datos).
La vista representa la presentación de los datos
(diseño de páginas). El controlador representa el código de
navegación de la aplicación (control de flujo).
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 8/62
Patrones de Diseño
Los patrones de diseño son solucionesefectivas de problemas comunes en el
diseño de software. La efectividad de un patrón ya ha sido
comprobada.
Un patrón es reusable.
Los patrones facilitan el aprendizaje de losprogramadores inexpertos.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 9/62
Patrones de Diseño (…)
Los patrones de diseño se pueden clasificar,según su propósito, en:
Patrones creacionales: abstraen el proceso deinstanciación y ocultan los detalles de cómo losobjetos son creados o inicializados.
Patrones estructurales: describen como las
clases y objetos pueden ser combinados paraformar grandes estructuras y proporcionarnuevas funcionalidades.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 10/62
Patrones de Diseño (…)
Patrones de comportamiento: tratan decómo definir la comunicación e
interacción entre los objetos de unsistema con la finalidad de reducir elacoplamiento entre éstos.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 11/62
Patrón MVC
El patrón de diseño Modelo-Vista-Controlador fue aportado originariamente
por el lenguaje de programación SmallTalk. Consiste en dividir una aplicación en tres
componentes: Modelo, Vista y Controlador.
Se basa en la separación de
responsabilidades ya que cada una de laspartes se encarga de un aspecto específicoy no interfiere con el de las otras.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 12/62
Patrón MVC: Modelo
Representa las capas de lógica de negociosy persistencia de datos de la aplicación.
Está formada por todos los objetos de
negocio que soportan los procesos propiosdel dominio de la aplicación.
Se encarga del acceso a los datos pararealizar consultas, eliminaciones,
inserciones, actualizaciones y almacenarlosen un medio persistente, como por ejemplouna base de datos, un archivo de texto,XML, etc.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 13/62
Patrón MVC: Vista
Representa la capa de presentación de losdatos.
Se encarga de mostrar la información al
usuario, por lo tanto tiene que ver con eldiseño y formateo de los datos para supresentación.
Interfaz de usuario para la interacción con la
aplicación. En la vista solo se deben de realizar
operaciones simples, como condiciones,ciclos, etc.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 14/62
Patrón MVC: Controlador
Se encarga de controlar el flujo de laaplicación.
Tiene la función de recibir y responder a loseventos (acciones del usuario), convirtiendoéstos en solicitudes de servicio.
Además, tiene que redirigir o asignar laparte de lógica de negocios a cada petición.
Cuenta con un mecanismo para guardar las
correspondencias entre peticiones yrespuestas que se les asignan.
Cada acción del usuario causa que se iniciede nuevo un nuevo ciclo.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 15/62
Patrón MVC: Funcionamiento
El procesamiento de losdatos se lleva a caboentre sus trescomponentes.
El controlador recibe unapetición y decide quien lalleva a cabo en el modelo.
Una vez terminadas lasoperaciones en el
modelo, se transfiere elflujo al controlador, quedevuelve los resultados auna vista asignada.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 16/62
Patrón MVC: Funcionamiento (…)
El controlador tiene almacenado larelación entre las posibles peticiones y lalógica de negocio que les corresponden.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 17/62
Patrón MVC: Ventajas
Separación total entre las capas depresentación, lógica de negocio y acceso adatos.
Esta separación es fundamental para eldesarrollo de aplicaciones consistentes,reutilizables y más fácilmente mantenibles,resultando en un ahorro de tiempo.
En Java se puede implementar el patrón
MVC con la clase Observer pero de unamanera sencilla, sin embargo con Struts seaplica en toda una aplicación Webconvencional.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 18/62
Frameworks
Un framework es la extensión de unlenguaje, a través de una o más jerarquías
de clases que implementan unafuncionalidad y que pueden ser extendidas
de manera opcional.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 19/62
Apache Struts Framework
Originalmente fue creado por Craig R.McClanahan y donado al proyecto Jakartade Apache Software Foundation en el año
2000. En Junio de 2001 se libera la primera
versión, y desde entonces muchosdesarrolladores han participado en lamejora continua de este framework.
Actualmente se ha lanzado una nuevaversión de este framework, la cual sedenomina Struts 2.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 20/62
Apache Struts Framework (…)
Es un framework de código abierto paradesarrollar aplicaciones Web J2EE usandoel patrón de diseño Modelo-Vista-Controlador.
Usa y extiende la Java Servlet API paramotivar a los desarrolladores a adoptar laarquitectura MVC.
Simplifica notablemente la implementaciónde una aplicación siguiendo la arquitecturadel patrón MVC.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 21/62
Apache Struts Framework (…)
El controlador ya se encuentraimplementado en Struts, sin embargo y si esnecesario es posible extenderlo omodificarlo.
El flujo de la aplicación se controla desde unarchivo XML.
Proporciona la integración con el modelo, lalógica de negocio se implementabasándose en clases predefinidas por elframework y siguiendo el patrón Facade.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 22/62
Apache Struts Framework (…)
Facilita y soporta la construcción de lainterfaz de la aplicación utilizando un
conjunto de tags predefinidos. Se busca es evitar el uso de scriptles, que
son trozos de código Java entre “<%” y
“%>”; para ganar mantenibilidad y
performance. Permite el desarrollo de sus componentes
en paralelo o por personal especializado.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 23/62
Apache Struts Framework (…)
El framework provee tres componentes: Un manejador de petición proporcionado por el
desarrollador de la aplicación, que se usa para
relacionarlo a una determinada URI. Un manejador de respuesta que se utiliza para
transferir el control a otro recurso que seencargará de completar la respuesta.
Una biblioteca de tags que ayuda a los
desarrolladores a crear aplicaciones interactivasbasadas en formularios.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 24/62
Apache Struts Framework (…)
Struts provee la infraestructura básica parala implementación del patrón MVC,
permitiendo así que los desarrolladorespuedan concentrarse en la lógica denegocios.
El framework está compuesto por
aproximadamente 300 clases e interfacesque están organizadas en alrededor de 12paquetes de nivel superior.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 25/62
Struts: Funcionamiento
El navegador genera una solicitud que esatendida por el Controlador (un Servletespecializado).
El Controlador también se encarga deanalizar la solicitud, seguir la configuraciónque se le ha programado en su XML yllamar al Action correspondiente pasándole
los parámetros enviados. El Action instanciará y/o utilizará los objetosde negocio para concretar la tarea.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 26/62
Struts: Funcionamiento (…)
Según el resultado que retorne el Action, elControlador derivará la generación de
interfaz a una o más JSPs, las cualespodrán consultar los objetos del Modelopara mostrar información de los mismos.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 27/62
Struts: Funcionamiento (…)
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 28/62
Struts: Controlador
La clase ActionServlet es el corazón delframework ya que es el controlador y se
configura como servlet en el archivoweb.xml
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 29/62
Struts: Controlador (…)
Cada vez que un usuario hace una peticiónes manejada por Struts Action Servlet.
Cuando el ActionServlet recibe la peticiónintercepta la URL y basado en el archivo deconfiguración struts-config.xml, dirige lapetición al Action Class correspondiente.
El Action Class es parte del controlador y seencarga de comunicarse con el modelo.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 30/62
Struts: Controlador (…)
Todas las peticiones atendidas por elframework siguen un patrón en su
nomenclatura, por defecto *.do, pero éstese puede cambiar en el archivo web.xml.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 31/62
Struts: struts-config.xml
Es el archivo de configuración de Struts,aquí se mapean las acciones (peticiones).
Sección <form-beans> contiene lasdefiniciones de beans.
Se usa un elemento <form-bean> por cadabean de formulario, tiene los siguientes
atributos importantes: Name: Identificador único para referenciarlo en
los mapeos de acciones.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 32/62
Struts: struts-config.xml (…)
Type: ruta completa de la clase Java del beande formulario.
Sección <action-mappings> contiene lasdefiniciones de acciones, se usa unelemento <action> por cada acción, sedefinen los siguientes atributos:
Path: nombre de la clase action en relación alcontexto de la aplicación.
Type: ruta completa de la clase Java de la claseAction.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 33/62
Struts: struts-config.xml (…)
Name: El nombre del <form-bean> para usarcon esta action, si corresponde.
Forward: ruta del archivo JSP a llamar.
Dentro de cada <action> se pueden definirmás de un forward, teniendo las siguientespropiedades:
Name: nombre del forward que será utilizado alllamarlo desde la clase Action.
Path: ruta de la página JSP.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 34/62
Struts: Action Class
Una clase Action de una aplicación Strutsextiende a la claseorg.apache.struts.action.Action.
Una clase Action actúa como un envoltoriopara la lógica de negocio y provee unainterfaz al modelo.
Es el mediador entre la vista y el Modelo, yaque transmite los datos desde la Vista haciael proceso específico del modelo y retornalos resultados en sentido contrario.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 35/62
Struts: Action Class (…)
Una acción funciona como un adaptadorentre una petición HTTP entrante y la lógicade negocio creando una instancia de la
Action correspondiente y ejecutando elmétodo execute().
Por lo tanto es necesario que la subclase
sobreescriba el método execute(). No se debe añadir lógica de negocio en ella,
mejor utilizar otra capa DAO.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 36/62
Struts: Action Class (…)
Método execute():
public ActionForward execute(ActionMapping mapping,
ActionForm form, javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) throws java.lang.Exception
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 37/62
Struts: Action Class (…)
Sus parámetros son:
mapping - El ActionMapping usado paraseleccionar esta instancia
form - ActionForm bean para esta petición, si existe
request - La petición HTTP que se está procesando
response - La respuesta HTTP que se estácreando.
Lanza una excepción si en la lógica denegocio ocurre también una excepción.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 38/62
Struts: Action Form
Una de las tareas que consume muchotrabajo es la interacción con formularios, ya
sea para editar u obtener nuevainformación.
Las comprobaciones, la gestión de errores,el volver a presentar el mismo form al
usuario con los valores que puso y losmensajes de error están soportados porStruts con los Action Forms y JSP.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 39/62
Struts: Action Form (…)
Un ActionForm es un JavaBean que seextiende
org.apache.struts.action.ActionForm. Implementa los métodos get y set para cada
input de un formulario de una página, y losmétodos validate y reset.
Se llena automáticamente en el lado delservidor con los datos introducidos desdeun formulario en el lado del cliente.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 40/62
Struts: Modelo
Comprende toda la lógica del negocio, sonlas clases Java que el desarrollador tiene
que implementar. No existe un formato definido para la
creación de estos componentes, elframework proporciona interfaces a bases
de datos, etc. Se elige el modelo de acuerdo con los
requerimientos del cliente.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 41/62
Struts: Vista
Los componentes de la Vista son JSP y seencargan de la presentación de la
información al usuario y del ingreso de susdatos.
Muestran los datos proporcionados por loscomponentes del modelo.
Struts provee soporte para construirfácilmente la interfaz de usuario a través dela utilización de HTML Tag Library.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 42/62
Struts: Vista (…)
Pudiendo obtener aplicaciones multi-idioma,interacción con formularios y otras
utilidades. Para usar los Struts HTML Tags es
necesario incluir la siguiente línea en elJSP:
<%@ tagliburi="http://jakarta.apache.org/struts/tags-html"prefix="html" %>
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 43/62
Struts: Tag Library
<html:html> Genera el tag <html>. <html:form> Genera <form> <html:button> Genera el tag <input type="button">.
<html:submit> Genera <input type="submit"> paraenviar los datos ingresados.
<html:reset> Genera <input type="reset">
<html:checkbox> Genera el tag <input
type="checkbox"> <html:hidden> Genera el tag <input type="hidden">. <html:img> Genera el tag <img>
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 44/62
Struts: Tag Library (…)
<html:link> Genera un link html
<html:password /> Genera el tag <inputtype=“password”>.
<html:radio> Genera un radio button (<inputtype="radio">).
<html:select multiple="true" property="selectBox">Genera la lista en el formulario, selectBox debe ser
un array. Usar <html:options> para especificar lasentradas.
<html:text> Genera el tag <input type="text">
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 45/62
<html:textarea> Genera el tag <textarea>.
<html:file /> Genera el tag <input type=“file”> para
subir archivos.
<html:base> Genera el tag <base>. Este tag debeser usado dentro del tag <head>
<html:errors> Genera el codigo html para mostrarlos errors que pueden ocurrir en la página.
<html:message key="thekey"/> Busca el valorcorrespondiente al key dado en el archivos derecursos y lo muestra.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 46/62
Struts: Internacionalización
Struts provee la facilidad de crearaplicaciones multilenguaje.
Para crear una aplicación multilenguaje se
debe crear un archivo de texto (ej:ApplicationResources.properties) en eldirectorio donde se encuentren las clasesde la aplicación(ej. empresa/aplicacion) que
contenga las claves y valores con el formatoclave.subclave=texto de los textos quepertenezcan al idioma principal.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 47/62
Struts: Internacionalización (…)
Ejemplo:
login.titulo = Ingreso al Sistema
login.labelusuario = Usuario :login.labelpassword= Password :
Para cada idioma alternativo se creará unarchivo nuevo que se llame igual pero que
termine en "_xx.properties" siendo xx elcódigo ISO de idioma (ej:ApplicationResources_en.properties).
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 48/62
Struts: Internacionalización (…)
En struts-config.xml se debe configurar elTag /servlet/init-param/param-name
application y ponerle como param-value lalocalización del archivo con el idiomaprincipal.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 49/62
Struts: Internacionalización (…)
Ejemplo:
<servlet>
<servlet-name>action</servlet-name> ...<init-param>
<param-name>application</param-name>
<param-value>
empresa.aplicacion.ApplicationResources</param-value>
</init-param>
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 50/62
Struts: Internacionalización (…)
Por ultimo se utiliza el Tag <bean:messagekey="clave.subclave"/> donde clave ysubclave corresponden al texto por el quese reemplazará según el idioma del usuario.
Ejemplo:
<H1>
<bean:message key="login.titulo"/> </H1>
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 51/62
Struts: Utilización I
En el struts-config.xml
<action path="/Welcome"forward="/pages/Welcome.jsp"/>
En el JSP inicial
<html:link page="/Welcome.do">Primerapeticion al controlador</html:link>
En Welcome.jsp
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 52/62
Struts: Utilización I (…)
<%@ taglib uri="/tags/struts-bean" prefix="bean" %><%@ taglib uri="/tags/struts-html" prefix="html" %><html:html locale="true"><head>
<title><bean:message key="welcome.title"/></title><html:base/></head>
<body bgcolor="white">
<h3><bean:message key="welcome.heading"/></h3><p><bean:message key="welcome.message"/></p>
</body></html:html>
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 53/62
Struts: Utilización II
En el struts-config.xml
<action path="/TestAction" type=“aplicacion.TestAction“ >
<forward name="testAction" path="/pages/TestAction.jsp"/>
</action>
En el JSP inicial <html:link page="/TestAction.do">Test the
Action</html:link>
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 54/62
Struts: Utilización II (…)
TestAction .java import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class TestAction extends Action{
public ActionForward execute(
ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response) throws Exception{return mapping.findForward("testAction"); } }
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 55/62
Struts: Utilización II (…)
En TestAction.jsp
<%@ taglib uri="/tags/struts-bean" prefix="bean" %><%@ taglib uri="/tags/struts-html" prefix="html" %>
<html:html locale="true"><head>
<title><bean:message key=“test.title"/></title> </head>
<body bgcolor="white"><h3><bean:message key=“test.mensaje"/></h3> </body></html:html>
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 56/62
Apache Struts Project
La organización principal, a la cualpertenece este proyecto es la ApacheSoftware Foundation.
Apache Struts Project es la comunidad dedesarrollo de código abierto que se encargade crear y mantener el Apache Struts
Framework. Está formado por un grupo diverso de
voluntarios con sentido de colaboración.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 57/62
Apache Struts Project (…)
El proyecto es llamado "Struts“ porque la
finalidad del framework es proporcionar algocomo "bases invisibles" que soporten eldesarrollo de aplicaciones profesionales.
Struts nos proporciona el pegamento queune diversos elementos de la plataforma
Java en un todo coherente.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 58/62
Apache Struts Project (…)
El objetivo del proyecto es aprovechar losestándares existentes mediante laproducción de las piezas que faltan para sercapaces de crear aplicaciones de categoríaempresarial que sean fáciles de manteneren el tiempo.
Ofrece dos versiones principales delframework Struts.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 59/62
Apache Struts Project (…)
Struts 1 es reconocido como el frameworkmás popular para aplicaciones Web enJava.
Este framework, en su versión 1.x, esmaduro, está bien documentado, y cuentacon un amplio soporte.
Es la mejor alternativa para afrontarproblemas comunes de desarrollo.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 60/62
Apache Struts Project (…)
Struts 2 fue originalmente conocido comoWebWork 2; después de trabajarindependientemente por varios años, lascomunidades de Struts y WebWork unieronfuerzas para crear Struts 2.
El framework 2.x es la mejor opción para
afrontar elegantemente los problemasdifíciles del desarrollo.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 61/62
Apache Struts Project (…)
Struts 2 es un elegante y extensibleframework para la creación de la empresade aplicaciones web en Java.
El framework está diseñado para apoyar elciclo completo de desarrollo, desde laconstrucción, el despliegue y a lo largo del
periodo de mantenimiento de lasaplicaciones.
5/11/2018 struts-en-java-1205535054489007-2 - slidepdf.com
http://slidepdf.com/reader/full/struts-en-java-1205535054489007-2 62/62
Links de interés
http://struts.apache.org/
http://struts.apache.org/2.x/
http://struts.apache.org/1.x/ http://www.roseindia.net/struts/