Apache Struts es un framework MVC gratuito y de código abierto para crear aplicaciones web Java elegantes y modernas.
Prioriza las convenciones sobre la configuración, es extensible mediante una arquitectura de plugins e incluye plugins compatibles con REST, AJAX y JSON.
Es utilizado para desarrollar aplicaciones web basadas en la arquitectura MVC (Modelo-Vista-Controlador).
Struts fue muy popular antes de la llegada de Spring Framework y sobre todo de Spring Boot. Sin embargo, debido a su gran rendimiento aún es usado en muchas empresas.
Requerimientos:
- JDK 8 o superior.
- Apache Maven 3.8.6 o superior.
- Tener nociones de Java y JSP.
- Se puede usar un IDE como Eclipse, Visual Studio Code o cualquier otro.
- Sirve de mucho conocer algo de Spring Boot.
Nosotros usaremos la terminal para crear y ejecutar el proyecto.
Creando nuestra primera aplicación con Apache Struts2
Vamos a crear una sencilla aplicación de "Hola, mundo".
Creamos el proyecto Apache Struts2 con Maven y nos ubicamos en el directorio creado:
$ mvn archetype:generate -B -DgroupId=org.cursomaven -DartifactId=auditor -DarchetypeGroupId=org.apache.struts -DarchetypeArtifactId=struts2-archetype-blank -DinteractiveMode=false $ cd auditor
Abrimos el proyecto. Tendrá más o menos está estructura de carpetas:
auditor/ pom.xml src/ main/ webapp/ index.html WEB-INF/ example/ web.xml resources/ example.xml log4j2.xml struts.xml java/
Debemos eliminar los archivos innecesarios como: Login.java, HelloWorld.java, ExampleSupport.java. Esto para que solo quede una nueva clase llamada HolaMundo.java. Esto en la carpeta de java/org/cursomaven/example:
package org.cursomaven.example; import com.opensymphony.xwork2.ActionSupport; public class HolaMundo extends ActionSupport{ public String execute() throws Exception { setMessage(getText(MESSAGE)); return SUCCESS; } public static final String MESSAGE = "HolaMundo.message"; private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
Tambien eliminaremos las páginas JSP del directorio webapp/WEB-INF/example. Esto para que solo quede una página JSP llamada HolaMundo.jsp
<%@ page contentType="text/html; charset=UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> <title><s:text name="HolaMundo.message"/></title> </head> <body> <h2><s:property value="message"/></h2> </body> </html>
Editamos los archivos: package.properties y example.xml. Los cuales se encuentran en los directorios src/main/resources y src/main/resources/org/cursomaven/example
package.properties
server.port= 8081 HolaMundo.message =Bienvenido a ApacheStruts2.
example.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <!-- - This file is included by the struts.xml file as an example - of how to break up the configuration file into multiple files. --> <struts> <package name="example" namespace="/example" extends="struts-default"> <default-action-ref name="HolaMundo" /> <action name="HolaMundo" class="org.cursomaven.example.HolaMundo"> <result>/WEB-INF/example/HolaMundo.jsp</result> </action> <!-- Add additional "example" package actions here. --> </package> </struts>
Tambien editamos el archivo XML struts.xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false"/> <constant name="struts.devMode" value="true"/> <include file="example.xml"/> <package name="default" namespace="/" extends="struts-default"> <default-action-ref name="index"/> <action name="index"> <result type="redirectAction"> <param name="actionName">HolaMundo</param> <param name="namespace">/example</param> </result> </action> </package> <!-- Add addition packages and configuration here. --> </struts>
Construimos con Maven:
$ mvn clean install -X
Ejecutamos con el servidor emembido Jetty:
$ mvn jetty:run -Djetty.port=8081
Abrimos el navegador en la dirección:
http://localhost:8081/auditor/example/HolaMundo¡Hemos creado nuestra primera aplicación con Apache Struts2!
Continuaremos con esta serie sobre Frameworks web en próximas entregas.
Enlaces:
https://struts.apache.org/index.html
No hay comentarios:
Publicar un comentario