ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Aplicaciones web


Enviado por   •  27 de Diciembre de 2013  •  Ensayos  •  2.018 Palabras (9 Páginas)  •  243 Visitas

Página 1 de 9

Struts 2 - Parte 1: Configuración

Cuando desarrollamos aplicaciones web es importante que estas puedan ser creadas de forma rápida y eficiente. Hoy en día existen muchos frameworks, los cuales nos proporcionan un cascarón para las aplicaciones. Nosotros solo debemos implementar la lógica propia de la aplicación, configurar el framework mediante algún mecanismo como anotaciones o archivos XML, y estos se encargan de hacer la mayor parte del trabajo tedioso o repetitivo.

Struts 2 es un framework para el desarrollo de aplicaciones web, el cual hace que la implementación de las mismas sea más sencillo, más rápido, y con menos complicaciones. Además hace que estas sean más robustas y flexibles. El objetivo de Struts 2 es muy sencillo: hacer que el desarrollo de aplicaciones web sea simple para los desarrolladores.

En esta serie de tutoriales veremos cómo desarrollar aplicaciones usando este framework web, cómo configurar el controlador que implementa Struts 2, y las distintas opciones que nos ofrece.

Struts 2 es un framework de presentación, dentro de las capas en las que se divide una aplicación en la arquitectura JEE, el cual implementa el controlador del patrón de diseño MVC (Modelo Vista Controlador), y que podemos configurar de varias maneras; además proporciona algunos componentes para la capa de vista. Por si fuera poco, proporciona una integración perfecta con otros frameworks para implementar la capa del modelo (como Hibernate y Spring).

Para hacer más fácil presentar datos dinámicos, el framework incluye una biblioteca de etiquetas web. Las etiquetas interactúan con las validaciones y las características de internacionalización del framework, para asegurar que las entradas son válidas, y las salidas están localizadas. La biblioteca de etiquetas puede ser usada con JSP, FreeMarker, o Velocity; también pueden ser usadas otras bibliotecas de etiquetas como JSTL y soporta el uso de componentes JSF.

Además permite agregarle funcionalidades, mediante el uso de plugins, de forma transparente, ya que los plugins no tienen que ser declarados ni configurados de ninguna forma. Basta con agregar al classpath el jar que contiene al plugin, y eso es todo.

Como dije antes: el objetivo de Struts 2 es hacer que el desarrollo de aplicaciones web sea fácil para los desarrolladores. Para lograr esto, Struts 2 cuenta con características que permiten reducir la configuración gracias a que proporciona un conjunto inteligente de valores por default. Además hace uso de anotaciones y proporciona una forma de hacer la configuración de manera automática si usamos una serie de convenciones (y si hacemos uso de un plugin especial).

Struts 2 no es precisamente el heredero de Struts 1, sino que es la mezcla de dos framewoks: WebWork 2 y Struts (aunque en realidad me parece que de Struts 1 solo tomó algunos nombres ^_^).

Componentes de Struts 2

Comencemos hablando un poco de los componentes que forman a Struts 2.

El corazón de Struts 2 es un filtro, conocido como el "FilterDispatcher". Este es el punto de entrada del framework. A partir de él se lanza la ejecución de todas las peticiones que involucran al framework.

Las principales responsabilidades del "FilterDispatcher" son:

• Ejecutar los Actions, que son los manejadores de las peticiones.

• Comenzar la ejecución de la cadena de interceptores (de la que hablaremos en un momento).

• Limpiar el "ActionContext", para evitar fugas de memoria.

Struts 2 procesa las peticiones usando tres elementos principales:

• Interceptores

• Acciones

• Resultados

Interceptores

Los interceptores son clases que siguen el patrón interceptor. Estos permiten que se implementen funcionalidades cruzadas o comunes para todos los Actions, pero que se ejecuten fuera del Action (por ejemplo validaciones de datos, conversiones de tipos, población de datos, etc.).

Los interceptores realizan tareas antes y después de la ejecución de un Action y también pueden evitar que un Action se ejecute (por ejemplo si estamos haciendo alguna validación que no se ha cumplido).

Sirven para ejecutar algún proceso particular que se quiere aplicar a un conjunto de Actions. De hecho muchas de las características con que cuenta Struts 2 son proporcionadas por los interceptores.

Si alguna funcionalidad que necesitamos no se encuentra en los interceptores de Struts podemos crear nuestro propio interceptor y agregarlo a la cadena que se ejecuta por default.

De la misma forma, podemos modificar la cadena de interceptores de Struts, por ejemplo para quitar un interceptor o modificar su orden de ejecución.

La siguiente tabla muestra solo algunos de los interceptores más importantes que vienen integrados y pre-configurados en Struts 2:

Interceptor Nombre Descripción

Alias alias Permite que los parámetros tengan distintos nombres entre peticiones.

Chaining chaining Permite que las propiedades del Action ejecutado previamente estén disponibles en el Action actual

Checkbox checkbox Ayuda en el manejo de checkboxes agregando un parámetro con el valor "false" para checkboxes que no están marcadas (o checadas)

Conversion Error conversionError Coloca información de los errores convirtiendo cadenas a los tipos de parámetros adecuados para los campos del Action.

Create Session createSession Crea de forma automática una sesión HTTP si es que aún no existe una.

Execute and Wait execAndWait Envía al usuario a una página de espera intermedia mientras el Action se ejecuta en background.

File Upload fileUpload Hace que la carga de archivos sea más fácil de realizar.

Logging logger Proporciona un logging (salida a bitácora) simple, mostrando el nombre del Actionque se está ejecutando.

Parameters params Establece los parámetros de la petición en el Action.

Prepare prepare Llama al método "prepare" en los acciones que implementan la interface "Preparable"

Servlet

...

Descargar como (para miembros actualizados)  txt (13.8 Kb)  
Leer 8 páginas más »
Disponible sólo en Clubensayos.com