Tutorial de Struts 2: solución integral para principiantes



Este artículo sobre el tutorial de Struts 2 lo ayudará a comenzar con el marco de Struts 2 para desarrollar aplicaciones web J2EE junto con la demostración del código.

Si estas buscando un que puede ayudarlo a desarrollar aplicaciones web JEE de manera rápida y eficiente, Struts 2 es la solución perfecta para usted. Struts 2 es un marco de código abierto que se utiliza mucho en el mercado. A través de este tutorial de Struts 2, lo ayudaré a comenzar con él junto con implementaciones prácticas.

A continuación se encuentran los temas que discutiré en este tutorial de Struts:





¿Qué es Struts?

En términos simples, Struts es un marco de código abierto basado en que ayuda a desarrollar aplicaciones web en J2EE. Esoextiende el y promueve el Modelo, Vista, Controlador ( MVC ) arquitectura.Esto hace que las aplicaciones web desarrolladas en tecnologías estándar comoJSP, JavaBeans y XML, más fáciles de mantener, extensibles y flexibles.

El Marco Struts fue desarrollado inicialmente por Craig McClanahan y fue entregado a la Fundación Apache en mayo de 2000. Gradualmente, captura la posición de un proyecto Apache de alto nivel en 2005 y más tarde, en febrero de 2007, fue reemplazado por Puntales 2 .



Struts Framework se basó ampliamente en MVC (Modelo-Vista-Controlador) paradigma de diseño. Su objetivo principal era separar el modelo de la vista y el controlador en la aplicación para reducir la dependencia y promover la separación de preocupaciones (SoC). En otras palabras, ayudó a separar la lógica de la aplicación que se comunica principalmente con la base de datos.desde el a través del cual el usuario interactúa con la aplicación y la instancia que ayuda a canalizar la información entre el modelo y la vista.

Características de Struts 2

  1. Formas y acciones basadas en POJO :Las clases de acción en Struts se tratan como el controlador en la aplicación. Son responsables de responder a la acción de un usuario, ejecutar la lógica empresarial y devolver un resultado con la vista que se debe representar. También actúa como clase Modelo.
  2. Etiquetas y personalización mejoradas: Se han introducido varios tipos de etiquetas en Struts 2, como etiquetas de interfaz de usuario, etiquetas de control, etiquetas de datos, etc., que ayudan en el desarrollo de aplicaciones.
  3. Funcionalidad AJAX: Struts 2 es compatible con la tecnología ajax, que se utiliza normalmente para generar una solicitud asincrónica. Mejora el rendimiento de la aplicación enviando solo los datos de campo requeridos al servidor.
  4. Fácil integración: Proporciona una fácil integración con otros marcos web como , DWR, SiteMesh y Tiles.
  5. Configuraciones mínimas: Al usar la aplicación Struts 2, no se requieren configuraciones aéreas. Funciona con configuraciones mínimas donde la mayoría de las configuraciones toman los valores predeterminados a menos que haya alguna desviación.
  6. Integrar tecnologías de visualización: Con Struts2, puede integrarse fácilmente con varias tecnologías de visualización como XSLT, JSP, Freemarker, velocidad, etc.
  7. Tema y plantillas: Struts 2 brinda soporte a 3 tipos de temas:
    1. Xhtml
    2. Simple
    3. Css_xhtml

Aquí, XHTML es el tema predeterminado de Struts 2 y se usa principalmente para una apariencia común.

Ahora que sabe qué es Struts y sus diversas características, sigamos adelante con este artículo del Tutorial de Struts y aprendamos sobre su arquitectura.



Arquitectura

Arquitectura de Struts - Tutorial de Struts 2 - EdurekaComo puede ver en el diagrama de arriba, Struts usa alto nivel Arquitectura MVC . Aquí, el filtro de servlet de despacho Struts2 se usa para implementar el controlador, mientras que las acciones se usan para implementar el modelo y la vista se implementa combinando tipos de resultados y resultados. En esta arquitectura, el hilo común, la vinculación y la integración con otros componentes está habilitado por la pila de valor y OGNL. Además de esto, las configuraciones para las aplicaciones web junto con acciones, interceptores, resultados, etc. también ayudan a canalizar mucha información.

Ahora, déjame explicarte el flujo de trabajo completo durante el ciclo de vida de una solicitud generada por el usuario. A continuación, he enumerado el flujo de trabajo paso a paso para que comprenda mejor cómo funciona Struts:

  • Comienza con la solicitud del usuario que se envía al servidor para solicitar algún recurso.
  • A continuación, el distribuidor de filtros procesa esta solicitud para determinar la acción adecuada.
  • Además, las funcionalidades del interceptor correctamente configuradas se aplican a la solicitud, como validación, carga de archivos, etc.
  • Una vez que se decide la Acción seleccionada y se ejecuta en base a la operación solicitada.
  • En caso de que se requiera un procesamiento posterior, se invocan interceptores configurados.
  • Al final, la vista proporciona el resultado y se lo devuelve al usuario.

Espero que esto borre el flujo de trabajo dentro de una aplicación Struts. Veamos ahora qué es todo lo que necesita en su sistema para comenzar con Struts en la siguiente sección de este tutorial de Struts 2

Configuración del entorno

A continuación, he enumerado las necesidades básicas para comenzar con Struts 2:

  • Java
    En caso de que no tenga Java instalado en su sistema, puede consultar la Instalación de Java artículo.
  • Gato
    Si no tiene Tomcat en su sistema, puede visitar Aquí para descargar gratis.
  • IDE (preferiblemente Eclipse)
    Finalmente, necesitas tu Eclipse IDE para el desarrollo de aplicaciones.

Una vez hecho esto, estará listo para mojarse los pies con Struts. En la siguiente sección de este tutorial de Struts 2, le daré un breve resumen de los conceptos fundamentales de Struts 2.

Conceptos fundamentales

1. Configuraciones

En cualquier aplicación de struts hay dos archivos de configuración principales:

  1. archivo struts.xml: Este archivo contiene la información sobre elconfiguración que se modifica como acciones. Se utiliza principalmente para anular la configuración predeterminada en una aplicación. Este archivo generalmente se crea dentro del directorio WEB-INF / classes en cualquier proyecto de Struts.
  2. archivo struts.properties: Este archivo proporciona un mecanismo que puede alterar el comportamiento del marco. Desde unframework hace uso de una serie de propiedades que puede cambiar según sus necesidades.

2. Acciones

Las acciones o clases de acciones son los conceptos centrales en cualquier aplicación de Struts 2, ya que actúan como el controlador en el patrón MVC. En otras palabras, las clases de acción contienen la lógica empresarial que ayuda a procesar los datos. Aparte de esto, la clase de acción también es responsable deresponder a una solicitud de los usuarios, ejecutar la lógica empresarial. También ayuda al marco a determinar y devolver un resultado sobre la base del archivo de configuración (struts.xml), de vuelta al usuario para representar la página Ver.

Las clases de acciones de Stuts2 no son de naturaleza única, es decir, se creará una instancia de esta clase con cada solicitud. Por lo tanto, no necesitan ser seguros para subprocesos y son simples e independientes. Esto facilita mucho la prueba de estas clases.

Un archivo de acción se puede crear de tres formas, que son las siguientes:

  • Clase de acción simple
    Cualquier clase java concreta se puede utilizar como clase de acción Struts 2, pero el único requisito es que la clase debe contener un método execute () con el tipo de retorno String. A continuación se muestra el código para crear una clase de acción simple:
paquete com.edureka.struts2.action public class DemoAction {public String execute () {return '¡Bienvenido!' }}
  • Implementación de la interfaz de acción
    También se puede crear una clase Struts 2 Action implementando la interfaz com.opensymphony.xwork2.Action. Contiene un solo método, es decir, execute () que debe ser implementado por la clase de implementación. Al implementar esta interfaz, puede hacer uso de varias constantes como SUCCESS, ERROR, NONE, INPUT y LOGIN, que se pueden utilizar para las páginas de resultados.
    El siguiente código muestra un ejemplo de lo mismo:
paquete com.edureka.struts2.action import com.opensymphony.xwork2.Action public class DemoAction implementa Action {public String execute () {return SUCCESS}}
  • Ampliación de la clase ActionSupport

Las clases de acción en Struts 2 generalmente amplían la clase de soporte de acción, que es la implementación predeterminada de la interfaz de acción. Proporciona varias funcionalidades imperativas para el desarrollo de aplicaciones web, como validación de datos, mensaje de nivel de acción, mensaje de error de nivel de acción, mensaje de error de nivel de campo y recurso de lectura incluido, etc.

A continuación se muestra la implementación del mismo:

paquete com.edureka.struts2.action import com.opensymphony.xwork2.ActionSupport public class DemoAction extiende ActionSupport {@Override public String execute () arroja Exception {return SUCCESS}}

3. Interceptores

Interceptor actúa como uno de los pilares principales del marco Struts 2. No es más que un objetoque se invoca durante el preprocesamiento y el posprocesamiento de una solicitud.Ayuda a controlar y mantener la transición fluida del ciclo de solicitud y respuesta.

La principal ventaja de utilizar interceptores es que se pueden conectar. Lo que quiero decir es que, en caso de que ya no tenga ningún uso de una preocupación específica comovalidación, manejo de excepciones, registro, etc., puede eliminarlo fácilmente de la aplicación sin tener que volver a implementarlo. Para esto, todo lo que necesita hacer es eliminar la entrada del archivo struts.xml.

El marco Struts2 proporciona un conjunto completo de interceptores predefinidos y pilas de interceptores comunes que he enumerado en la siguiente tabla:

Interceptador Descripción
alias Esto permite que los parámetros tengan diferentes alias de nombre en las solicitudes de los usuarios.
caja Esto ayuda a administrar las casillas de verificación agregando un valor de parámetro de falso para las casillas de verificación que no se han marcado
conversionError Esto coloca la información de error de convertir cadenas a tipos de parámetros dentro de los errores de campo de la acción.
createSession Esto crea implícitamente una sesión HTTP en caso de que no exista una
depuración Esto proporciona varias pantallas de depuración al desarrollador.
execAndWait Esto transfiere al usuario a una página de espera intermedia cuando la acción se ejecuta en segundo plano.
excepción Esto mapea las excepciones que se lanzan de la acción hacia un resultado
Subir archivo Esto facilita la carga de archivos fácil en Struts 2
i18n Esto ayuda a realizar un seguimiento de la configuración regional especificada durante la sesión de un usuario.
registros Esto proporciona un registro simple al usuario al generar la salida como el nombre de la acción que se está ejecutando.
params Esto ayuda a configurar los parámetros de solicitud en la acción.
preparar Se utiliza para realizar trabajos de preprocesamiento.
perfil Esto permite obtener información de perfil simple para las acciones de registro.
alcance Esto almacena y recupera el estado de la acción durante la sesión del usuario o el alcance de la aplicación.
ServletConfig Esto permite que la acción acceda a información variada basada en servlets.
Temporizador Esto proporciona información de perfil simple
simbólico Esto ayuda a verificar la acción en busca de un token válido para evitar envíos de formularios duplicados
validación Esto proporciona soporte de validación para varias acciones.

4. Pila de valor

ValueStacken Struts2 es el área de almacenamiento donde se almacenan todos los datos de la aplicación para procesar una solicitud. Estos datos se mantienen dentro delActionContextobjetos que hacen uso de laThreadLocalpara recuperar los valores específicos de cualquier hilo de solicitud de cliente específico.

5. OGNL

OGNL son las siglas de Object-Graph Navigation Language. Es un lenguaje de expresión poderoso muy parecido a JSP y se usa principalmente parareferencia y manipulación de datos presentes en el ValueStack. Además, también ayuda a transferir y convertir el tipo de datos.

Similar a JSP, OGNL contiene un objeto raíz dentro del contexto de la aplicación. Por lo tanto, puede proporcionar la referencia del objeto predeterminado utilizando la notación de marcado que en este caso se indica mediante el símbolo de almohadilla. El marco Struts 2 implementa OGNL mediante la construcción de un mapa ActionContext. A continuación, he enumerado los componentes del mapa ActionContext:

  • Solicitud
  • Sesión
  • Pila de valor
  • Solicitud
  • Parámetros
  • Atributos

Con esto, usted está a través de los conceptos básicos de Struts 2. En la siguiente sección de este artículo de Struts 2, saltemos directamente al código e implementemos todo lo que ha aprendido hasta ahora.

cómo usar el método split en java

Demostración del tutorial de Struts 2

Aquí estaré creando una aplicación simple donde debes ingresar tu nombre y la aplicación te dará la bienvenida. A continuación se muestra la captura de pantalla de la estructura completa del proyecto:

Como puede ver, en este proyecto crearemos 5 archivos que son:

  1. HelloWorld.java
  2. index.jsp
  3. welcome.jsp
  4. web.xml
  5. struts.xml

Nota: Antes de comenzar este proyecto, asegúrese de que ya tiene Tomcat instalado en su sistema.

PASO I: En su Eclipse, vaya a Archivo> Nuevo> Proyecto web dinámico. Ingrese el nombre del proyecto y haga clic en New Runtime.

PASO II: Aquí debe seleccionar la versión de Apache Tomcat que ha descargado en su sistema y hacer clic en Siguiente.

PASO III: A continuación, haga clic en Examinar y navegue hasta el directorio donde se guardaron las dependencias de Tomcat. Una vez hecho esto, haga clic en Finalizar y continúe con la Creación del proyecto.

PASO IV: Agreguemos ahora los archivos jar de Struts que serán necesarios para la ejecución exitosa de este proyecto. Puede descargar los archivos JAR desde Aquí . Una vez que esté listo con los archivos JAR, copie los archivos JAR y péguelos en WebContent> WEB-INF> lib.

PASO V: Ahora que estamos listos con todas las configuraciones, configuremos los archivos de código, comenzando con HelloWorld.java. Para esto, haga clic derecho en el proyecto> Nuevo> Clase. Complete el paquete y el nombre de la clase y haga clic en finalizar.

PASO VI: Escriba el siguiente código en el HelloWorld.java archivo.

paquete com.edureka public class HelloWorld {private String name public String getName () {return name} public void setName (String name) {this.name = name} public String execute () {return 'success'}}

PASO VII: A continuación, cree un nuevo index.jsp archivo en WebContent y escriba el siguiente código:

 

PASO VIII: Ahora, vuelva a crear un nuevo welcome.jsp archivo en WebContent y escriba el siguiente código:

Bienvenidos:

PASO IX: Ahora vaya a WebContent> WEB-INF y escriba el siguiente código en el web.xml archivo.

Struts2Demo index.html struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareandExecuteFilter struts2 / *

PASO X: Finalmente, en Recursos de Java> src, cree struts.xml archivo

welcome.jsp

PASO XI: Ahora ve al index.jsp página y haga clic derecho sobre ella. Seleccione Ejecutar en el servidor para ejecutar la aplicación.

Esto nos lleva al final de este artículo sobre el tutorial de Struts 2. Si quieres saber más sobre Java puedes consultar nuestro .

Ahora que ha entendido lo que es un tutorial de Struts 2, consulte el por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. El curso de formación y certificación Java J2EE y SOA de Edureka está diseñado para estudiantes y profesionales que desean ser desarrolladores de Java. El curso está diseñado para darle una ventaja en la programación de Java y capacitarlo para los conceptos básicos y avanzados de Java junto con varios marcos de Java como Hibernate y Spring.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de este artículo del “Tutorial de Struts 2” y nos comunicaremos con usted lo antes posible.