Para configurar una aplicación básica en Struts2, se deben seguir estos pasos esneciales.
Agregar Bibliotecas
Incluir los archivos JAR de Struts2 en el directorio lib del proyecto para asegurar las dependencias necesarias.
Configuración del Descriptor Web
Definir el filtro de Struts2 en el archivo web.xml para interceptar las solicitudes HTTP.
<filter>
<filter-name>FiltroStruts</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>FiltroStruts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Archivo de Configuración de Struts
Crear el archivo struts.xml para mapear acciones a clases Java y definir vistas resultantes.
<?xml version="1.0" encoding="UTF-8"?>
<struts>
<package name="paqueteEjemplo" extends="struts-default">
<action name="saludar" class="com.ejemplo.accion.AccionBienvenida">
<result name="exito">/vistas/bienvenida.jsp</result>
<result name="fallo">/vistas/entrada.jsp</result>
</action>
</package>
</struts>
Desarrollo de Vistas JSP
Implementar las páginas JSP para la interacción del usuario y la visualización de resultados.
entrada.jsp:
<%@page pageEncoding="UTF-8"%>
<html>
<head><title>Formulario de Entrada</title></head>
<body>
<form action="saludar.action" method="post">
<div>
<label for="campoNombre">Nombre de usuario: </label>
<input type="text" id="campoNombre" name="nombre" />
</div>
<div>
<label for="campoClave">Clave de acceso: </label>
<input type="password" id="campoClave" name="clave" />
</div>
<div>
<input type="submit" value="Enviar" />
</div>
</form>
</body>
</html>
bienvenida.jsp:
<%@page pageEncoding="UTF-8"%>
<html>
<head><title>Página de Bienvenida</title></head>
<body>
<h1>¡Hola, ${nombre}! Bienvenido.</h1>
</body>
</html>
Clase de Acción en Java
Crear la clase de acción que maneje la lógica de negocio y determine el flujo de la aplicación.
package com.ejemplo.accion;
public class AccionBienvenida {
private String nombre;
private String clave;
public String procesar() {
if (nombre != null && !nombre.trim().isEmpty()) {
return "exito";
}
return "fallo";
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getClave() {
return clave;
}
public void setClave(String clave) {
this.clave = clave;
}
}