Java del lado del servidor: procesamiento de formularios avanzado utilizando JSP

Normalmente, el procesamiento de formularios implica varios componentes que operan en segundo plano, y cada componente es responsable de una tarea discreta, como la gestión del estado, la validación de datos, el acceso a la base de datos, etc. Si bien existen numerosos ejemplos que demuestran el procesamiento de formularios con scripts y servlets de Perl, el uso de JSP para este propósito ha recibido poca atención. Hay una razón para esto. Aparte del hecho de que JSP es una tecnología bastante nueva, muchos la ven como adecuada principalmente para manejar la presentación de contenido dinámico procedente de JavaBeans o servlets. Sin embargo, como verá pronto, la combinación de JSP con JavaBeans puede ser una fuerza a tener en cuenta al procesar formularios HTML.

En este artículo, examinaré el manejo de un formulario de registro de usuario usando JSP. Uno de los principios básicos de programación de JSP es delegar tanto procesamiento como sea posible a los componentes JavaBean. Mi implementación de manejo de formularios JSP demostrará algunas características interesantes. No solo proporcionará validación de datos básicos para la información de registro ingresada por un usuario, sino que también exhibirá un comportamiento con estado. Esto le permite completar previamente los elementos de entrada del formulario con datos validados a medida que el usuario recorre el ciclo de envío y finalmente ingresa los datos correctos para todos los elementos de entrada. Entonces, sin más preámbulos, profundicemos en el ejemplo.

Eche un vistazo al Listado 1, que presenta al usuario un formulario de registro simple, que se muestra en la Figura 1.

Listado 1. register.html

   
REGISTRO DE USUARIO

* Campos requeridos

Primer nombre*

Apellido*

Correo electrónico*

Código postal*

Nombre de usuario*

Contraseña*

Confirmar contraseña*

¿Qué música te interesa?

Rock Pop Bluegrass

Blues Jazz Country

¿Le gustaría recibir notificaciones por correo electrónico sobre nuestras ventas especiales?

sí No

La Figura 1 muestra el formulario de registro de usuario como aparecería en un navegador.