J AVA - Struts 2 Hola Mundo Tutorial Lo bsico de Struts 2 ~Programando con Caf
http://www.programandoconcafe.com/2011/09/si-usa-algun-codigo-del-siguiente.html[02/05/2014 05:27:16 p. m.]
Programando con Caf Con una taza de caf todo es mejor!!! DOMI NGO, SEPTI EMB RE 18, 2011 JAVA - STRUTS 2 HOLA MUNDO TUTORIAL LO BSICO DE STRUTS 2 12:20 P. M. FELIPE VSQUEZ GANOZA 4 COMENTARIOS Hola, mi nombre es Felipe Vsquez Ganoza, y Henry me ha proporcionado esta oportunidad para poder publicar algunas entradas en el blog. Empezaremos por un tutorial muy bsico de Struts 2, el famoso Hola Mundo. Struts 2 Hola Mundo Tutorial Lo bsico de Struts 2 Struts 2 es un framework de desarrollo del lado web, como framework est basado en automatizar las tareas comunes y proveer un marco comn de trabajo para el desarrollador, en otras palabras, define la arquitectura de la aplicacin o componente. A diferencia de Struts 1, Struts 2 es un marco completamente nuevo, basado en los proyectos OpenSymphony y Web Works Framework. Usa el modelo MVC y es lo bastante flexible para poder escalarlo con otros frameworks como Hibernate, Spring, etc. Struts 2 define el Controlador con el FilterDispatcher, el cual procesa todas las peticiones (request) por parte del cliente, se encarga de verificar en el struts.xml los filtros y acciones a llevar a cabo segn corresponda. El Modelo lo implementan las clases Action, las cuales son bsicamente simples POJ O (plain old java object), los cuales no necesariamente deben implementar una interfaz, pero s implementar el mtodo execute(); sin embargo es una buena prctica que implemente la interfaz ActionSupport, de esa forma nos aseguramos automticamente de implementar otras interfaces que nos permiten validar y no sobre cargar el mtodo exectue(). Cabe recordar que el Modelo es la parte que implementa la lgica del negocio. Por ltimo, la Vista puede ser definida por varias tecnologas como J SP, Html, XHtml, Velocity, etc. A continuacin explicar una simple aplicacin conocida por cualquier programador como Hola Mundo, la desarrollaremos en Eclipse y Apache Tomcat. Los requisitos para desarrollarla son: Tener instalada el SDK a partir de 1.5 o superior. Eclipse (http://www.eclipse.org/downloads/) Apache Tomcat (http://tomcat.apache.org/index.html) Descargar las libreras de Struts 2 (http://struts.apache.org/download), es recomendable descargar la ltima y ms estable versin. 1. Creamos un proyecto dinmico en Eclipse: File New Dynamic web " Si usa algn cdigo del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vuelva Seguidor del Blog y tambin comentenos que tal les pareci el tutorial" Variado Categoras Fechas
Add this PicBadge to your profile picture! 23 supporters B s q u e d a s Go o g l e Bsqueda personalizada A p o y e m o s a l B l o g Si uso algn cdigo de este Blog, den clic en el icono de "Me Gusta" del Facebook, que esta la parte inferior de este anuncio. Para que se vuelva Fan del Blog Nu e s t r o F a c e b o o k Mostrar ms A ti y 3510 personas ms les gusta Programando con Caf.A 3510 personas les gusta Programando con Caf. Programando con Caf Te gusta esto. Me gusta Me gusta Programando con Caf Vdeo sobre Integracin Continua con Hudson, Testlink, Mantis, Selenium, J Unit, Cobertura, PMD, Sonar, despliegues automticos y generacin de Branch 22 de febrero a la(s) 13:22 Integracin Continua Parte 1 www.youtube.com Integracin Continua Parte 1 Suscrbete Twitter Facebook Youtube A n u n c i o s INICIO MI WEB PERSONAL MI GOOGLE SITE SIEMPRE HAY UNA CANCIN MI PGINA UPAO INICIO ACERCA DE CONTACTANOS Buscar Buscar J AVA - Struts 2 Hola Mundo Tutorial Lo bsico de Struts 2 ~Programando con Caf http://www.programandoconcafe.com/2011/09/si-usa-algun-codigo-del-siguiente.html[02/05/2014 05:27:16 p. m.] Project Le damos un nombre: HolaMundo Ya tengo instalado previamente el Apache Tomcat, el cual lo descargan desde la pgina de Apache, el ejecutable segn el SO que tengis. Luego lo pueden agregar en Eclipse, ya sea desde la ventana anterior (la parte de Target runtime New Runtime, y seleccionan la carpeta donde se instal en el disco) o desde el men: window preferences server runtime enviroments, y agrergar la home del Apache Tomcat. Luego de creado el proyecto, Eclipse nos mostrar la siguiente estructura: Donde crearemos el siguiente directorio para las clases: Click derecho sobre J avaResources src Folder le damos el nombre que deseemos: org.per.trux.actions Recordando un poco la estructura del proyecto web, apreciemos que tenemos varias carpetas, pero las que nos interesan son WebContent, WEB-INF, lib y src, por ahora. Las pginas de vista (J sp, Html, velocity, etc) van en la raz de WebContent (la mayora de veces, dependiendo de la arquitectura se puede reubicarlas), en la raz de WEB-INF va el web.xml, dentro de lib van las libreras (.jar) que necesitemos segn las tecnologas a utilizar), y dentro de src van las clases (.java) y el struts.xml. Todo esto se puede modificar dependiendo de la arquitectura que se defina, pero por defecto son como las he mencionado. 2. Ahora agregamos las libreras y archivos de configuracin bsicos del proyecto para Struts 2. Primero descomprimir el .zip con las libreras descargadas de Struts 2 (en esta aplicacin he utilizado: Struts 2.2.3.1), Nu e s t r o Go o g l e Participar en este sitio Google Friend Connect Ya eres miembro? Iniciar sesin Miembros (77) Ms S g u e n o s p o r Co r r e o En t r a d a s Po p u l a r e s J ava - Manejo de Fechas (java.util.Date) "Si usa algn cdigo del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vu... J ava - LLenar un J Table con ResultSet "Si usa algn cdigo del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vu... J ava - Aplicacin Web, Carrito de Compras Parte I - Creacin de la Base de Datos "Si usa algn cdigo del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vu... C#- Aplicacin de Escritorio, Sistemas de Ventas Parte I - Creacin de la Base Datos "Si usa algn cdigo del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vu... PHP - Carrito de Compras Parte I - Creacin de la Base de Datos "Si usa algn cdigo del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se vu... Vi s i t a s Compartenos 1 0 6 0 4 7 3 Enviar J AVA - Struts 2 Hola Mundo Tutorial Lo bsico de Struts 2 ~Programando con Caf http://www.programandoconcafe.com/2011/09/si-usa-algun-codigo-del-siguiente.html[02/05/2014 05:27:16 p. m.] seleccionamos las siguientes libreras del folder lib: struts2-core-2.2.3.1.jar xwork-core-2.2.3.1.jar ognl-3.0.1.jar freemarker-2.3.16.jar commons-logging-1.1.1.jar commons-fileupload-1.2.2.jar Para este proyecto tan simple, con estas libreras nos basta por ahora. Copiamos esos archivos, damos click derecho sobre la carpeta lib del proyecto en Eclipse, y elegimos: pegar. Nos debe quedar as: Ahora creamos la pgina de inicio (Index.jsp), damos click derecho sobre WebContent New J SP File (si no encuentran esa opcin directamente, seleccionen Others y busquen en una de las secciones). Creamos ahora los archivos de configuracin necesarios: web.xml y struts.xml. Click derecho sobre WEB-INF New File, le damos el nombre de web.xml Click derecho sobre el directorio src New File, le damos el nombre de struts.xml Ahora agregamos el contenido en los archivos recin creados, primero en web.xml: <?xml ver si on="1.0" encodi ng="UTF-8"?> <web- app ver si on="2.5" xml ns="http://java.sun.com/xml/ns/javaee" xml ns: xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocat i on="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <f i l t er > <f i l t er - name>st r ut s2</ f i l t er - name>
J AVA - Struts 2 Hola Mundo Tutorial Lo bsico de Struts 2 ~Programando con Caf http://www.programandoconcafe.com/2011/09/si-usa-algun-codigo-del-siguiente.html[02/05/2014 05:27:16 p. m.] <f i l t er - cl ass>or g. apache. st r ut s2. di spat cher . Fi l t er Di spat cher </ f i l t er - cl ass> </ f i l t er > <f i l t er - mappi ng> <f i l t er - name>st r ut s2</ f i l t er - name> <ur l - pat t er n>/ *</ ur l - pat t er n> </ f i l t er - mappi ng> <sessi on- conf i g> <sessi on- t i meout > 30 </ sessi on- t i meout > </ sessi on- conf i g> <wel come- f i l e- l i st > <wel come- f i l e>i ndex. ht ml </ wel come- f i l e> </ wel come- f i l e- l i st > </ web- app> Esta configuracin es la ms bsica y por defecto para usar struts 2, podemos apreciar que se hace referencia al controlador (FilterDispatcher), el mapeo de las urls: /*, el cual indica al controlador que revise todas las peticiones (request) que enve el cliente, y por ltimo la pgina de inicio por defecto: index.html. Esta es una configuracin muy bsica, pero podemos explicar que aqu se pueden agregar ms parmetros, como cadenas de conexiones, ms servlets, etc. Esto depender de la arquitectura del proyecto. Ahora editamos el archivo struts.xml: <?xml ver si on="1.0" encodi ng="UTF-8" ?> <! DOCTYPE st r ut s PUBLI C " - / / Apache Sof t war e Foundat i on/ / DTD St r ut s Conf i gur at i on 2. 0/ / EN" " ht t p: / / st r ut s. apache. or g/ dt ds/ st r ut s- 2. 0. dt d" > <st r ut s> <package name="default" ext ends="struts-default"> <act i on name="holaMundo" cl ass="org.per.trux.actions.HolaMundo"> <r esul t name="SUCCESS">/ Hol aMundo. j sp</ r esul t > </ act i on>
</ package> </ st r ut s> Aqu podemos apreciar las acciones a ejecutar por Struts 2, previo definimos el paquete, el cual nos proporciona el poder definir una estructura elegante y separar las diferentes acciones segn sea el caso, cabe destacar que se pueden incluir (include) ms archivos Xml que hereden de este base, de esa forma podemos organizar la estrutura del proyecto y no hacer que el archivo por defecto crezca y sea inmanejable, una vez ms acoto que esto depender de la arquitectura del proyecto. Dentro del paquete van las acciones, <action>, la cual tiene los atributos bsicos: name, el cual es el nombre de la accin a realizar, en este caso, cuando en la url termine en: holaMundo.action (notar que en el archivo struts.xml no viene ese nombre, no es necesario ya que struts es lo suficiente inteligente para mapearla), luego en este caso hay una clase en el atributo class que ejecutar la accin (Modelo, la clase Action), la cual tiene la Uri donde se encuentra: actions.HolaMundo. luego tenemos el resultado que se mostrar con el result al cliente en caso que sea exitosa la accin: <r esul t name="ok">/ bi enveni da. j sp</ r esul t >, esto nos dice que en caso de devolver la cadena (String) ok la accin (HolaMundo.java), nos enve a la pgina: bienvenida.jsp Esta es una simple aplicacin, pero se pueden definir mucho ms complejas acciones a realizar. Por ltimo creamos un archivo ms: bienvenida.jsp, damos click derecho sobre WebContent New J SP File.
3. Ahora creamos nuestra clase y agregamos contenido a nuestras pginas jsp. Primero la clase que estar en la carpeta: src/actions/HolaMundo.java J AVA - Struts 2 Hola Mundo Tutorial Lo bsico de Struts 2 ~Programando con Caf http://www.programandoconcafe.com/2011/09/si-usa-algun-codigo-del-siguiente.html[02/05/2014 05:27:16 p. m.] Hay que darle a refresh al proyecto para poder visualizarlo en la carpeta src. Agregamos las propiedades de tipo String: nombre y saludo, luego usamos la funcionalidad de Eclipse para que nos autogenere los get y set de ambos atributos de clase: Implementamos el mtodo obligatorio execute, el cual devuelve por defecto un String: package org.per.trux.actions; /** * * @author Felipe Vsquez Ganoza */ import com.opensymphony.xwork2.ActionSupport; J AVA - Struts 2 Hola Mundo Tutorial Lo bsico de Struts 2 ~Programando con Caf http://www.programandoconcafe.com/2011/09/si-usa-algun-codigo-del-siguiente.html[02/05/2014 05:27:16 p. m.] public class HolaMundo extends ActionSupport{ private static final long serialVersionUID = 1L; private String saludo;
public String execute() throws Exception { setSaludo("Hola Mundo en Struts 2"); return "SUCCESS"; } public String getSaludo() { return saludo; } public void setSaludo(String saludo) { this.saludo = saludo; } } 4. Ahora editamos nuestras vistas: index.html <! DOCTYPE HTML PUBLI C " - / / W3C/ / DTD HTML 4. 0 Tr ansi t i onal / / EN" > <ht ml > <head> <META HTTP- EQUI V="Refresh" CONTENT="0;URL=holaMundo.action"> </ head> <body> <h3>Car gando. . . </ h3> </ body>
</ ht ml > y bienvenida.jsp: <%@page l anguage="java" cont ent Type="text/html; charset=ISO- 8859-1" pageEncodi ng="ISO-8859-1"%> <%@t agl i b ur i ="/struts-tags" pr ef i x="s"%> <! DOCTYPE ht ml PUBLI C " - / / W3C/ / DTD HTML 4. 01 Tr ansi t i onal / / EN" " ht t p: / / www. w3. or g/ TR/ ht ml 4/ l oose. dt d" > <ht ml > <head> <met a ht t p- equi v="Content-Type" cont ent ="text/html; charset=ISO-8859-1"> <t i t l e>I nser t t i t l e her e</ t i t l e> </ head> <body> <h1><s: pr oper t y val ue="saludo" / ></ h1> </ body> </ ht ml > 5. Ejecutamos el proyecto: Click derecho sobre el proyecto Run As Run on server O podemos exportar el .war y copiarlo directamente en el directorio de nuestro servidor, para exportar el .war desde eclipse, damos click derecho sobre el proyecto Export war file Espero haya sido explicativo este pequeo tutorial y poder expandir o volverlo ms complejo en futuros posts. Un saludo, Felipe Vsquez Ganoza Publicado en: eclipse,Felipe Vsquez Ganoza,henry wong urquiza,hwongu,java,struts 2,tutorial struts 2,universidad privada antenor orrego,vasgano Twittear Share 19 Me gusta Me gusta 6 J AVA - Struts 2 Hola Mundo Tutorial Lo bsico de Struts 2 ~Programando con Caf http://www.programandoconcafe.com/2011/09/si-usa-algun-codigo-del-siguiente.html[02/05/2014 05:27:16 p. m.] Diseado por Free WordPress Themes | Publicado para blogger por Lasantha y modificado por Henry Wong - Premium Blogger Themes Soportado por Blogger | DSW printable coupons Derechos Reservados 2011 Programando con Caf
Direccin corta para compartir: 4 COMENTA RI OS: Publicar un comentario Annimo dice: 2:54 p. m. Muchas gracias por el manual de struts 2, me ayudo bastante. Soy principiante en esto y etoy trabajando con struts 2 en eclipse. Tengo una consultita estoy intentando mostrar los datos de un formulario dentro de un grig a medida que presiono unbotn "agregar" pero he tenido un poco de problemas para lograrlo. No se si puedas ayudarme te lo agradeceria bastante.... Sandra Contestar Annimo dice: 12:25 p. m. Muchas gracias por compartir lo que sabes. Contestar Annimo dice: 4:23 p. m. Muchas gracias por compartir tu texto, me sirvi mucho! Contestar Henry Wong dice: 7:57 p. m. Que bueno que les haya servido y eso es gracias al apoyo de nuestro amigo Felipe, que desde Espaa siempre apoya. Contestar http://bit.ly/osfL3L