Primeros Pasos con Struts 1.3.8
El Framework de Struts es probablemente el adecuado para que empieces a pelearte con los proyectos web, por su madurez (lleva muchos años siendo la referencia en los proyectos web), su simplicidad, su abundante documentación y la sencillez con la que implementa el patrón Modelo - Vista - Controlador.
Así mismo Struts - Validator y Tiles son complementos perfectos a este framework (para la validación de los datos introducidos por los usuarios web y para modelar y reutilizar los componentes de la Vista).
Por todo esto la versión 1.3.8 (liberada el 10 de Marzo de 2007) es la ideal para comenzar en el mundo del desarrollo web con J2EE.
Herramientas necesarias
Necesitamos nuestras herramientas Java (JDK), un IDE (hoy por hoy Eclipse es el rey y yoxos su profeta) y un servidor de aplicaciones (Tomcat siempre es una buena elección).
Además necesitaremos la distribución 1.3.8 de Struts. La distribución contiene aplicaciones web de ejemplo (empaquetadas en formato .war), entre ellas struts-blank-1.3.8.war, que es una aplicación web vacía preparada para comenzar con Struts, es decir, algo así como el hola mundo que vamos a construir en esta entrada.
holamundoStruts138
Empezamos con el eclipse. Creamos un nuevo proyecto web dinámico, que llamaremos holamundoStruts138. Creamos una página de bienvenida, WebContent > index.jsp.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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>Hola Mundo</title>
</head>
<body>
<h1>Lycka te da la bienvenida!</h1>
<p>Bienvenido a nuestra aplicación de Hola Mundo Struts 1.3.8</p>
</body>
</html>
En el fichero despcriptor de la aplicación web, el WebContent > WEB-INF > web.xml nos aseguramos que esté nuestro fichero en la lista de ficheros de bienvenida. El valor de <display-name> será el que se mostrará en la administración de nuestro servidor de aplicaciones.
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>holamundoStruts138</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
Ok, ahora desplegamos la aplicación en nuestro servidor de aplicaciones y deberíamos de ver la pantalla de bienvenida que hemos diseñado.
Comenzando con Struts
Necesitamos incorporar las herramientas de Struts a nuestro proyecto, es decir, las librerías. Cojemos las que vienen en el ejemplo de struts-blank-1.3.8.war, que son más de las que necesitamos pero en un futuro nos podrían venir bien :
- antlr.jar
- commons-beanutils.jar
- commons-chain.jar
- commons-digester.jar
- commons-logging.jar
- commons-validator.jar
- oro.jar
- struts-core.jar
- struts-taglib.jar
- struts-tiles.jar
Ahora debemos declarar la servlet de Struts, e indicar que atenderá las llamadas de nuestras acciones. Típicamente distinguimos las acciones porque su URL termina en la extensión ".do", por ejemplo "altaClientes.do". En el ejemplo utilizaremos la extensión ".lycka".
<!– Standard Action Servlet Configuration –>
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!– Standard Action Servlet Mapping –>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.lycka</url-pattern>
</servlet-mapping>
Ahora nuestra aplicación está lista para funcionar bajo Struts.
Para continuar…