Está en la página 1de 7

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