almacenamiento de información con servlets

Anuncio
ALMACENAMIENTO DE INFORMACIÓN CON SERVLETS
A través de estos ejercicios se pretende que el alumno comprenda las diferentes alternativas
existentes para almacenar información en aplicaciones que utilicen servlets. Se abordan ejercicios
para almacenar información persistente utilizando bases de datos y para almacenar información
temporal utilizando datos de sesión y cookies.
Aplicación 1. Repite la aplicación 4 del apartado de “manejo de métodos de la clase servlet” (la de
la agenda) pero utilizando una base de datos en lugar de guardar la información en memoria.
Comprueba que ahora, cuando desconectes el servidor Apache Tomcat y vuelvas a iniciarlo, la
información es persistente.
Nota: es necesario que crees una tabla en la base de datos en la que almacenar: el id del contacto,
su nombre, su dirección, su teléfono y su email.
Aplicación 2. Crea un sencillo gestor de contraseñas en una aplicación web. La aplicación
consistirá en una web que disponga de dos formularios:
•
Un formulario con tres campos: nombre de usuario, nombre del sitio del que queremos
guardar la contraseña y contraseña a almacenar. Este formulario dispondrá de un botón con
el texto “Almacenar”, que, al ser pulsado, guardará la información indicada.
Pueden darse dos situaciones: a) el usuario ya existe (su nombre de usuario ya aparecía en la
base de datos) y sólo debemos almacenar la contraseña; b) el usuario no existe y tenemos
que guardar el nuevo usuario y la contraseña que queremos almacenar.
•
Un formulario en el que indicar nuestro nombre de usuario un botón que diga “Mostrar
contraseñas” que, al pulsarlo, nos lleve a una página en la que aparezcan las contraseñas que
hemos guardado y el sitio al que pertenecen.
Para desarrollar esta aplicación deben crearse dos tablas en la base de datos del siguiente modo:
•
Tabla Usuarios que dispone de dos campos: id de usuario y nombre de usuario.
•
Tabla Contraseñas que dispone de cuatro campos: id de contraseña, nombre del sitio del que
almacenar la contraseña, contraseña almacenada e id del usuario que almacena la
contraseña.
Aplicación 3. Desarrolla una aplicación que permita almacenar información en los atributos de
sesión. La aplicación consistirá en un formulario que disponga de dos inputs (clave y valor) y un
botón que diga “Almacenar”. Cuando se pulse el botón “Almacenar” se invocará a un servlet que se
encargue el almacenar en los atributos de sesión del cliente los datos indicados en el formulario que
ha invocado el servlet.
Además, la aplicación deberá disponer de otro botón con el texto “Mostrar datos guardados” que,
al ser pulsado, muestre todas las tuplas clave-valor almacenadas en los atributos de sesión del
cliente.
Aplicación 4. Crea una aplicación que permita a los usuarios registrados guardar un mensaje a su
elección. La página principal de la aplicación deberá ser construida por un servlet y su contenido
dependerá de si el usuario se encuentra logeado o no. En caso de estar logeado, se mostrará el
mensaje personal de cada usuario. En caso de no estar logeado, la página deberá contener lo
siguiente:
•
Debe existir un formulario HTML que permita a los usuarios registrarse en la aplicación. El
formulario debe contener los siguientes campos: nombre de usuario, contraseña y mensaje
secreto a almacenar. Cuando pulsemos su botón submit, el formulario invocará a un servlet
que validará que el nombre de usuario está disponible y registrará la información
introducida por el usuario. En caso de que el nombre de usuario no esté disponible, deberá
informarse de ello.
•
Debe existir un formulario de login en el que el usuario pueda introducir su datos para
acceder a la aplicación. Al pulsar el botón submit un servlet comprobará que la información
introducida es válida y generará los atributos de sesión necesarios para que el resto de
servlets de la aplicación puedan saber que el usuario esta logeado. En caso de no ser
correctos los datos del login, se informará de ello.
La información relativa a los usuarios deberá ser salvada en una base de datos. Esta base de datos
consistirá en una sola tabla con los campos: id de usuario, nombre de usuario, contraseña y mensaje.
Pista: en total, la aplicación consiste en 3 servlets: el servlet principal, el servlet que registra
usuarios y el servlet que gestiona el login.
Nota: recuerda incluir un hiperenlace para volver al servlet principal en la salida generada por los
servlet de registro y login.
Aplicación 5. Construye un servlet en el que se genere una página con el texto deseado por el
alumno y que, además, disponga de un contador con el número de visitas que el usuario ha
realizado a esa página. El número de visitas se debe llevar en una cookie.
Nota: prueba este servlet en distintos navegadores para comprobar que los contadores son
diferentes en cada uno de ellos.
Aplicación 6. Realiza una pequeña tienda virtual que permita al usuario añadir productos a su
carrito de la compra. La aplicación consiste en una página (generada mediante un servlet) con los
siguientes apartados:
•
Productos disponibles: aparece un listado con los productos disponibles. Estos productos
son siempre los mismos (no es necesario recuperarlos de ninguna base de datos). Al lado de
cada producto aparecerá un checkbox que nos permitirá seleccionar el producto. Cuando
pulsemos el botón submit, un servlet se encargará de generar las cookies indicando los
productos añadidos al carrito. Si hemos seleccionado añadir un producto que ya estaba en el
carrito, no lo volvemos a añadir.
•
Carrito: aparecerá un listado con los productos añadidos a nuestro carrito (se recuperarán a
través de las cookies). Al lado de cada producto aparecerá un checkbox que permitirá
seleccionar los productos. Cuando pulsemos el botón submit, un servlet se encargará de
borrar los productos seleccionados de nuestro carrito.
Descargar