You are on page 1of 3

Diseño de aplicaciones web

Bloque 3 (backend): Ejercicios


Ejercicio 1: Spring MVC y Thymeleaf
Crea un proyecto Maven con dependencias a Spring Boot y Thymeleaf tal y como
hemos visto en clase para crear una aplicación Spring MVC. Esta aplicación
consistirá en web para gestionar un tablón de anuncios.

Requisitos de la aplicación:
• Cada anuncio está compuesto por tres atributos: nombre, asunto, y
descripción.
• La página principal muestra los anuncios existentes (sólo nombre y
asunto) y un enlace para insertar un nuevo anuncio.
• Si pulsamos en la cabecera de un anuncio se navegará a una página nueva
que muestre el contenido completo del anuncio.
• Si se pulsa el enlace para añadir el anuncio se navegará a una nueva
página que contendrá un formulario.
• Al enviar el formulario se guardará el nuevo anuncio y se mostrará una
página indicando que se ha insertado correctamente y un enlace para
volver.
• Se recomienda usar un único controlador con varios métodos (cada uno
atendiendo una URL diferente).
• El controlador tendrá como atributo una lista de objetos anuncio.
• Ese atributo será usado desde los diferentes métodos.
• La primera vez en la sesión que un usuario cargue la página principal le
salga un mensaje de bienvenida (en las siguientes visitas a la página
principal no tiene que aparecer el mensaje).
• Cuando el usuario cree un anuncio por primera vez en la sesión,
introducirá su nombre. Cuando vaya a crear más anuncios durante la
sesión, el nombre le debe aparecer ya escrito (aunque con la posibilidad
de modificarlo).

Dados estos requisitos, un ejemplo de flujo de pantallas se muestra en la página


siguiente.

Ejercicio 2: Spring Data


Modifica el ejercicio 1 para que los anuncios se guarden de forma persistente en
una base de datos relacional MySQL. Usa Spring Data JPA según hemos visto en
clase.
Ejercicio 3: Spring Security
Modifica el ejercicio 2 de forma que la aplicación resultante implemente
mecanismos de autenticación y autorización mediante Spring Security. Se deben
cumplir los siguientes requisitos:
• Los usuarios de la aplicación estarán almacenado en la base de datos.
• La contraseña no se debe almacenar en claro en la base de datos.
• El mecanismo de autenticación será un formulario que pida usuario y
contraseña.
• Todas las vistas de la aplicación estarán protegidas salvo el formulario de
acceso.
• Sólo habrá un tipo de rol para la autorización de las diferentes vistas.
Ejercicio 4: Servicios REST
En este ejercicio vamos a tomar como punto de partida el modelo empleado en
las prácticas anteriores sobre el tablón de anuncios. En otras palabras, vamos a
usar la clase para modelar anuncios basándose en su nombre, asunto, y
comentario. Implementa un servicio REST en Java usando Spring que maneje
una lista de anuncios y ofrezca las siguientes funcionalidades (clase anotada con
@RestController):
• Consulta de todos los anuncios.
• Consulta de un anuncio en base a su posición en la lista.
• Creación de un anuncio.

Implementa dos clientes que consuman el de servicio REST de la lista anuncios:


• Un cliente Java usando Retrofit.
• Un cliente JavaScript usando jQuery.

Ambos clientes tienen que hacer uso de los tres servicios proporcionados
(lectura de todos los anuncios, lectura de un anuncio dado su posición, escritura
de un nuevo anuncio).

You might also like