JAVA - Struts 2 Hola Mundo Tutorial – Lo básico de Struts 2 ~ Programando co.pdf

7
JAVA - Struts 2 Hola Mundo Tutorial – Lo básico 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!!! DOMINGO, SEPTIEMBRE 18, 2011 JAVA - STRUTS 2 HOLA MUNDO TUTORIAL – LO BÁSICO DE STRUTS 2 12:20 P. M. FELIPE VÁSQUEZ GANOZA 4 COMENTARIOS Hola, mi nombre es Felipe Vásquez Ganoza, y Henry me ha proporcionado esta oportunidad para poder publicar algunas entradas en el blog. Empezaremos por un tutorial muy básico de Struts 2, el famoso Hola Mundo. Struts 2 Hola Mundo Tutorial – Lo básico 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 común de trabajo para el desarrollador, en otras palabras, define la arquitectura de la aplicación 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 según corresponda. El Modelo lo implementan las clases Action, las cuales son básicamente simples POJO (plain old java object), los cuales no necesariamente deben implementar una interfaz, pero sí implementar el método execute(); sin embargo es una buena práctica que implemente la interfaz ActionSupport, de esa forma nos aseguramos automáticamente de implementar otras interfaces que nos permiten validar y no sobre cargar el método exectue(). Cabe recordar que el Modelo es la parte que implementa la lógica del negocio. Por último, la Vista puede ser definida por varias tecnologías como JSP, Html, XHtml, Velocity, etc. A continuación explicaré una simple aplicación 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 librerías de Struts 2 (http://struts.apache.org/download), es recomendable descargar la última y más estable versión. 1. Creamos un proyecto dinámico en Eclipse: File à New à Dynamic web "Si usa algún código 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 también comentenos que tal les pareció el tutorial" Variado Categorías Fechas Add this PicBadge to your profile picture! 23 supporters Búsquedas Google Búsqueda personalizada Apoyemos al Blog Si uso algún código 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 Nuestro Facebook Mostrar más A ti y 3510 personas más 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é Vídeo sobre Integración Continua con Hudson, Testlink, Mantis, Selenium, JUnit, Cobertura, PMD, Sonar, despliegues automáticos y generación de Branch 22 de febrero a la(s) 13:22 Integración Continua Parte 1 www.youtube.com Integración Continua Parte 1 Suscríbete Twitter Facebook Youtube Anuncios INICIO MI WEB PERSONAL MI GOOGLE SITE SIEMPRE HAY UNA CANCIÓN MI PÁGINA UPAO INICIO ACERCA DE CONTACTANOS

Transcript of JAVA - Struts 2 Hola Mundo Tutorial – Lo básico de Struts 2 ~ Programando co.pdf

Page 1: JAVA - Struts 2 Hola Mundo Tutorial – Lo básico de Struts 2 ~ Programando co.pdf

JAVA - Struts 2 Hola Mundo Tutorial – Lo básico 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 conCaféCon una taza de café todo es mejor!!!

D O M I N G O , S E P T I E M B R E 1 8 , 2 0 1 1

JAVA - STRUTS 2 HOLA MUNDO TUTORIAL –LO BÁSICO DE STRUTS 2

12:20 P. M. FELIPE VÁSQUEZ GANOZA 4 COMENTARIOS

Hola, mi nombre es Felipe Vásquez Ganoza, y Henry me ha proporcionado estaoportunidad para poder publicar algunas entradas en el blog. Empezaremos por untutorial muy básico de Struts 2, el famoso Hola Mundo.

Struts 2 Hola Mundo Tutorial – Lo básico de Struts 2

Struts 2 es un framework de desarrollo del lado web, como framework está basadoen automatizar las tareas comunes y proveer un marco común de trabajo para eldesarrollador, en otras palabras, define la arquitectura de la aplicación ocomponente.A diferencia de Struts 1, Struts 2 es un marco completamente nuevo, basado en losproyectos OpenSymphony y Web Works Framework. Usa el modelo MVC y es lobastante flexible para poder escalarlo con otros frameworks como Hibernate, Spring,etc.Struts 2 define el Controlador con el FilterDispatcher, el cual procesa todas laspeticiones (request) por parte del cliente, se encarga de verificar en el struts.xml losfiltros y acciones a llevar a cabo según corresponda.El Modelo lo implementan las clases Action, las cuales son básicamente simplesPOJO (plain old java object), los cuales no necesariamente deben implementar unainterfaz, pero sí implementar el método execute(); sin embargo es una buenapráctica que implemente la interfaz ActionSupport, de esa forma nos aseguramosautomáticamente de implementar otras interfaces que nos permiten validar y nosobre cargar el método exectue(). Cabe recordar que el Modelo es la parte queimplementa la lógica del negocio.Por último, la Vista puede ser definida por varias tecnologías como JSP, Html,XHtml, Velocity, etc.A continuación explicaré una simple aplicación conocida por cualquier programadorcomo 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 librerías de Struts 2 (http://struts.apache.org/download), esrecomendable descargar la última y más estable versión.

1. Creamos un proyecto dinámico en Eclipse: File à New à Dynamic web

"Si usa algún código del siguiente tutorial, den el icono de MEGUSTA del Facebook que se encuentra en su mano derecha,para que se vuelva Seguidor del Blog y también comentenosque tal les pareció el tutorial"

Variado Categorías Fechas

Add this PicBadge to yourprofile picture!

23 supporters

B ú s q u e d a s G o o g l e

Búsqueda personalizada

A p o y e m o s a l B l o g

Si uso algún código de este Blog, den clicen el icono de "Me Gusta" del Facebook,que esta la parte inferior de este anuncio.Para que se vuelva Fan del Blog

N u e s t r o F a c e b o o k

Mostrar más

A ti y 3510 personas más les gustaProgramando con Café.A 3510 personas lesgusta Programando con Café.

Programando con Café

Te gusta esto.Me gusta

Me gusta

Programando conCaféVídeo sobreIntegración Continuacon Hudson, Testlink,Mantis, Selenium,JUnit, Cobertura,PMD, Sonar,desplieguesautomáticos ygeneración de Branch

22 de febrero a la(s)13:22

Integración ContinuaParte 1www.youtube.comIntegración ContinuaParte 1

Suscríbete

Twitter

Facebook

Youtube

A n u n c i o s

INICIO MI WEB PERSONAL MI GOOGLE SITE SIEMPRE HAY UNA CANCIÓN MI PÁGINA UPAO

INICIO ACERCA DE CONTACTANOS

Page 2: JAVA - Struts 2 Hola Mundo Tutorial – Lo básico de Struts 2 ~ Programando co.pdf

JAVA - Struts 2 Hola Mundo Tutorial – Lo básico 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 lapágina de Apache, el ejecutable según el SO que tengáis. Luego lo pueden agregaren Eclipse, ya sea desde la ventana anterior (la parte de Target runtime à NewRuntime, y seleccionan la carpeta donde se instaló en el disco) o desde el menú:window à preferences à server à runtime enviroments, y agrergar la home delApache Tomcat.

Luego de creado el proyecto, Eclipse nos mostrará la siguiente estructura:

Donde crearemos el siguiente directorio para las clases:Click derecho sobre JavaResources à src à Folder à le damos el nombre quedeseemos: org.per.trux.actionsRecordando un poco la estructura del proyecto web, apreciemos que tenemos variascarpetas, pero las que nos interesan son WebContent, WEB-INF, lib y src, porahora. Las páginas de vista (Jsp, Html, velocity, etc) van en la raíz de WebContent(la mayoría de veces, dependiendo de la arquitectura se puede reubicarlas), en laraíz de WEB-INF va el web.xml, dentro de lib van las librerías (.jar) que necesitemossegún las tecnologías a utilizar), y dentro de src van las clases (.java) y elstruts.xml. Todo esto se puede modificar dependiendo de la arquitectura que sedefina, pero por defecto son como las he mencionado.

2. Ahora agregamos las librerías y archivos de configuración básicos delproyecto para Struts 2. Primero descomprimir el .zip con las libreríasdescargadas de Struts 2 (en esta aplicación he utilizado: Struts 2.2.3.1),

N u e s t r o G o o g l e

Participar en este sitioGoogle Friend Connect

¿Ya eres miembro? Iniciar sesión

Miembros (77) Más »

S í g u e n o s p o r C o r r e o

E n t r a d a s P o p u l a r e s

Java - Manejo de Fechas (java.util.Date)"Si usa algún código del siguiente tutorial,den el icono de ME GUSTA del Facebookque se encuentra en su mano derecha,para que se vu...

Java - LLenar un JTable conResultSet"Si usa algún código delsiguiente tutorial, den el iconode ME GUSTA del Facebook

que se encuentra en su mano derecha,para que se vu...

Java - Aplicación Web,Carrito de Compras Parte I -Creación de la Base de Datos"Si usa algún código delsiguiente tutorial, den el icono

de ME GUSTA del Facebook que seencuentra en su mano derecha, para quese vu...

C# - Aplicación de Escritorio,Sistemas de Ventas Parte I -Creación de la Base Datos"Si usa algún código delsiguiente tutorial, den el icono

de ME GUSTA del Facebook que seencuentra en su mano derecha, para quese vu...

PHP - Carrito de ComprasParte I - Creación de la Basede Datos"Si usa algún código delsiguiente tutorial, den el icono

de ME GUSTA del Facebook que seencuentra en su mano derecha, para quese vu...

V i s i t a s

Compartenos

1 0 6 0 4 7 3

Page 3: JAVA - Struts 2 Hola Mundo Tutorial – Lo básico de Struts 2 ~ Programando co.pdf

JAVA - Struts 2 Hola Mundo Tutorial – Lo básico 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 librerías del folder lib:

struts2-core-2.2.3.1.jarxwork-core-2.2.3.1.jarognl-3.0.1.jarfreemarker-2.3.16.jarcommons-logging-1.1.1.jarcommons-fileupload-1.2.2.jar

Para este proyecto tan simple, con estas librerías nos basta por ahora. Copiamosesos archivos, damos click derecho sobre la carpeta lib del proyecto en Eclipse, yelegimos: pegar. Nos debe quedar así:

Ahora creamos la página de inicio (Index.jsp), damos click derecho sobreWebContent à New à JSP File (si no encuentran esa opción directamente,seleccionen Others y busquen en una de las secciones).

Creamos ahora los archivos de configuración necesarios: web.xml y struts.xml. Clickderecho sobre WEB-INFà Newà File, le damos el nombre de web.xmlClick derecho sobre el directorio srcà Newà File, le damos el nombre de struts.xml

Ahora agregamos el contenido en los archivos recién creados, primero en web.xml:

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"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/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <filter> <filter-name>struts2</filter-name>

Page 4: JAVA - Struts 2 Hola Mundo Tutorial – Lo básico de Struts 2 ~ Programando co.pdf

JAVA - Struts 2 Hola Mundo Tutorial – Lo básico 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.]

<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.html</welcome-file> </welcome-file-list></web-app>

Esta configuración es la más básica y por defecto para usar struts 2, podemosapreciar que se hace referencia al controlador (FilterDispatcher), el mapeo de lasurls: /*, el cual indica al controlador que revise todas las peticiones (request) queenvíe el cliente, y por último la página de inicio por defecto: index.html. Esta es unaconfiguración muy básica, pero podemos explicar que aquí se pueden agregar másparámetros, como cadenas de conexiones, más servlets, etc. Esto dependerá de laarquitectura del proyecto.Ahora editamos el archivo struts.xml:

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts> <package name="default" extends="struts-default">

<action name="holaMundo"class="org.per.trux.actions.HolaMundo"> <resultname="SUCCESS">/HolaMundo.jsp</result> </action> </package></struts>

Aquí podemos apreciar las acciones a ejecutar por Struts 2, previo definimos elpaquete, el cual nos proporciona el poder definir una estructura elegante y separarlas diferentes acciones según sea el caso, cabe destacar que se pueden incluir(include) más archivos Xml que hereden de este base, de esa forma podemosorganizar la estrutura del proyecto y no hacer que el archivo por defecto crezca ysea inmanejable, una vez más acoto que esto dependerá de la arquitectura delproyecto.Dentro del paquete van las acciones, <action>, la cual tiene los atributos básicos:name, el cual es el nombre de la acción a realizar, en este caso, cuando en la urltermine en: holaMundo.action (notar que en el archivo struts.xml no viene esenombre, 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 acción(Modelo, la clase Action), la cual tiene la Uri donde se encuentra:actions.HolaMundo. luego tenemos el resultado que se mostrará con el result alcliente en caso que sea exitosa la acción: <resultname="ok">/bienvenida.jsp</result>, esto nos dice que en caso dedevolver la cadena (String) ok la acción (HolaMundo.java), nos envíe a la página:bienvenida.jspEsta es una simple aplicación, pero se pueden definir mucho más complejasacciones a realizar.Por último creamos un archivo más: bienvenida.jsp, damos click derecho sobreWebContent à New à JSP File.

3. Ahora creamos nuestra clase y agregamos contenido a nuestras páginas jsp.Primero la clase que estará en la carpeta: src/actions/HolaMundo.java

Page 5: JAVA - Struts 2 Hola Mundo Tutorial – Lo básico de Struts 2 ~ Programando co.pdf

JAVA - Struts 2 Hola Mundo Tutorial – Lo básico 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 carpetasrc.Agregamos las propiedades de tipo String: nombre y saludo, luego usamosla funcionalidad de Eclipse para que nos autogenere los get y set de ambosatributos de clase:

Implementamos el método obligatorio execute, el cual devuelve por defectoun String:

package org.per.trux.actions;

/**** @author Felipe Vásquez Ganoza*/

import com.opensymphony.xwork2.ActionSupport;

Page 6: JAVA - Struts 2 Hola Mundo Tutorial – Lo básico de Struts 2 ~ Programando co.pdf

JAVA - Struts 2 Hola Mundo Tutorial – Lo básico 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 PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html> <head> <META HTTP-EQUIV="Refresh"CONTENT="0;URL=holaMundo.action"> </head>

<body> <h3>Cargando...</h3> </body> </html>

y bienvenida.jsp:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><%@taglib uri="/struts-tags" prefix="s"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"><title>Insert title here</title></head><body> <h1><s:property value="saludo" /></h1></body></html>

5. Ejecutamos el proyecto: Click derecho sobre el proyecto à Run As à Runon server

O podemos exportar el .war y copiarlo directamente en el directorio de nuestroservidor, para exportar el .war desde eclipse, damos click derecho sobre elproyecto à Export à war fileEspero haya sido explicativo este pequeño tutorial y poder expandir o volverlo máscomplejo en futuros posts.

Un saludo,Felipe Vásquez Ganoza

Publicado en: eclipse,Felipe Vásquez Ganoza,henry wong urquiza,hwongu,java,struts 2,tutorial

struts 2,universidad privada antenor orrego,vasgano

Twittear Share 19Me gusta Me gusta6

Page 7: JAVA - Struts 2 Hola Mundo Tutorial – Lo básico de Struts 2 ~ Programando co.pdf

JAVA - Struts 2 Hola Mundo Tutorial – Lo básico 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.]

Diseñado por Free WordPress Themes | Publicado para blogger por Lasantha y modificado por Henry Wong - Premium Blogger ThemesSoportado por Blogger | DSW printable coupons

Derechos Reservados © 2011 Programando con Café

Dirección corta para compartir:

4 C O M E N T A R I O S :

Publicar un comentario

Anónimo dice:2:54 p. m.

Muchas gracias por el manual de struts 2, me ayudo bastante. Soy principianteen esto y etoy trabajando con struts 2 en eclipse. Tengo una consultita estoyintentando mostrar los datos de un formulario dentro de un grig a medida quepresiono unbotón "agregar" pero he tenido un poco de problemas para lograrlo.No se si puedas ayudarme te lo agradeceria bastante....

Sandra

Contestar

Anónimo dice:12:25 p. m.

Muchas gracias por compartir lo que sabes.

Contestar

Anónimo 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 amigoFelipe, que desde España siempre apoya.

Contestar