viernes, 19 de febrero de 2016

Spring MVC - Parte 2: Selección de manejadores de peticiones

En el tutorial anterior aprendimos cómo configurar nuestra aplicación para hacer uso de Spring MVC, además creamos dos Controllers con un método cada uno para manejar las peticiones recibidas por el usuario. En esa ocasión configuramos los métodos de una manera simple y directa para responder a las peticiones, sin embargo, Spring MVC permite varias formas de indicar a qué peticiones puede responder un manejador particular.

En este tutorial aprenderemos las distintas maneras que tenemos para indicar a qué peticiones debe responder un método dentro de un Controller, y cómo podemos tomar ventaja de estas formas para recibir distintos tipos de información desde nuestras páginas web.

miércoles, 23 de diciembre de 2015

Spring MVC - Parte 1: Configuración

En tutoriales anteriores hemos visto cómo trabajar con los módulos core de Spring, los cuales proporcionan el motor de inyección de dependencias y el contendor de beans. También tuvimos una serie completa de cómo trabajar con un framework MVC para aplicaciones web, Struts 2.

Spring tiene sus propios módulos que conforman un framework para el desarrollo de aplicaciones Java basadas en web, Este framework sigue el patrón de diseño MVC. A este conjunto de módulos se le conoce con el nombre de Spring MVC.

En esta serie de tutoriales aprenderemos a usar Spring MVC. En este primer tutorial aprenderemos cómo configurar el framework de dos formas, una a través de archivos de configuración en XML y otra a través de código Java y haremos el respectivo Hola Mundo.

miércoles, 14 de enero de 2015

Spring - Parte 5: Integración y manejo de transacciones con Hibernate

A lo largo de una serie de tutoriales hemos visto las bondades que nos ofrece el framework Spring para el manejo del ciclo de vida de beans, inyección de dependencia y configuración a través de anotaciones y de archivos de configuración en XML.

Además ya hemos visto cómo trabajar con el framework Hibernate para el manejo de persistencia de nuestra aplicación. Este framework nos permite olvidarnos de escribir queries a mano para centrarnos en la lógica y el flujo de la aplicación, además de proporcionar mecanismos de caché de datos.

En este tutorial veremos cómo integrar estos dos frameworks para que Spring se encargue del manejo de las sesiones y las transacciones que Hibernate usa.

viernes, 29 de noviembre de 2013

Struts 2 - Parte 7: Tags

Cuando desarrollamos aplicaciones es importante tener un buen back-end que soporte la lógica de la aplicación, y del mismo modo es importante tener un buen front-end, ya que será esta con la que nuestros usuarios interactuarán introduciendo y viendo información. Es por esto que para crear la vista (las páginas web) debemos usar un conjunto de elementos que nos permitan mostrar la información correcta, darle el formato adecuado, y realizar pequeños bloques de lógica en caso de ser necesario (ciclos, condiciones, constantes, etc.).

En el mundo web de Java estos componentes generalmente son implementados en forma de etiquetas (tags). Prácticamente todos los frameworks web de Java incluyen su propio conjunto de etiquetas que se integran perfectamente con los motores de negocio, para hacer uso de las ventajas particulares del framework. Struts 2 no es la excepción, y presenta un conjunto amplio de etiquetas para manejar la información que será presentada al cliente, y además ayudar a dar formato a los componentes de la interfaz de usuario, dándonos la libertad de elegir entre varios "modos".

En este tutorial aprenderemos a usar todas las etiquetas que Struts 2 nos proporciona actualmente, junto con algunos detalles de cada uno de los temas o layouts que nos proporciona.

martes, 26 de junio de 2012

Struts 2 - Parte 6: Interceptores

Al desarrollar una aplicación, es necesario desarrollar algunas funcionalidades de utilidad que nos hagan más fácil el desarrollo de los procesos de negocio en los cuales estamos interesados. Algunos ejemplos de estas funcionalidades pueden ser el verificar que el usuario haya iniciado una sesión en el sistema, o que tenga permisos para ejecutar la operación que está solicitando, convertir los parámetros de un tipo a otro (de String a Date, o a int), verificar que se hayan proporcionado los datos que son obligatorios, agregar alguna información a la sesión del usuario, etc.

La mayoría de estas funcionalidades pueden ser creadas de una forma genérica y usadas en varias partes de nuestra aplicación o en varias aplicaciones.

Struts 2 integra un mecanismo que nos permite abstraer estas funcionalidades de una manera sencilla, aplicarlas de forma transparente a las acciones que la necesiten (que pueden ser desde una hasta todas las acciones de la aplicación) y configurarlas a través del uso de parámetros.

En este tutorial aprenderemos cómo configurar los interceptores que vienen integrados con Struts 2, además de crear nuestros propios interceptores, agregarlos a un Action, y agregarlos a la pila que se aplica por default a los Actions de nuestra aplicación.

sábado, 7 de abril de 2012

Struts 2 - Parte 5: Tipos de Results

Cada vez que un Action termina su ejecución, se muestra un resultado al usuario. Estos resultados pueden ser de muchos tipos y tener muchos significados. El tipo más común de resultado es mostrar al usuario una nueva página web cierta información, pero ¿si quisiéramos hacer otra cosa? ¿Qué ocurre si queremos regresar un archivo como texto plano? ¿Y cuando queremos regresar un archivo binario? ¿Y su necesitamos redirigir la petición a otro Action o enviar al usuario a otra página?

Los casos anteriores también son muy comunes cuando desarrollamos una aplicación web.

Struts 2 ofrece una gran variedad de tipos de Results para manejar estas y otras situaciones y que aprenderemos cómo usar en este tutorial.

lunes, 19 de diciembre de 2011

Struts 2 - Parte 4: Scopes de Objetos Web

Cuando estamos desarrollando una aplicación web debemos almacenar información que será procesada de distinta manera. Dependiendo de cuál sea el propósito de esta información querremos que tenga un tiempo de vida más corto o más largo, alguna información deberá permanecer disponible durante todo el momento que viva nuestra aplicación, mientras que otra solo nos interesará que viva durante una petición. Además habrá información que pertenecerá a cada usuario que acceda a la aplicación y que deberá estar disponible sólo para el usuario correspondiente.

Estos tiempos de vida son llamados scopes, y en las aplicaciones web tenemos un cierto número de ellos. Es importante conocer estos scopes y ver qué tipo de información es conveniente colocar en cada uno de ellos. A la información que colocamos en los distintos scopes les llamamos atributos.

También algunas veces es necesario tener un acceso directamente a los objetos del API de Servlets, como el "HttpServletRequest", o el "ServletContext", o a los parámetros de la petición,

Struts 2 nos proporciona una forma simple y elegante, además de diversa, para manejar todas estas cosas y en este tutorial aprenderemos estas maneras ^_^.