Temario
- MVC del lado del servidor (continuación).
- Formulario de alta (continuación).
- Integración con persistencia.
- Sesiones y Login.
Resumen
En esta clase cerramos nuestro estudio de UI MVC Web con Javalin. Conversamos sobre la integración con el contexto de persistencia y manejo de sesión.
Por un lado, realizamos un ejercicio: QMP8. Hablamos del Manejo declarativo de transacciones: No usar explícitamente transaction.begin(), transaction.commit(), transaction.rollback(). En su lugar utilizar WithSimplePersistenceUnit y withTransaction:
public class ConsultorasController implements WithSimplePersistenceUnit {
// ...
public Void crear(Context context) {
withTransaction(() -> {
Consultora consultora = new Consultora(
context.formParam("nombre"), // son parámetros del cuerpo (body)
// codificados como application/x-www-form-urlencoded
Integer.parseInt(context.formParam("cantidadEmpleados")
));
RepositorioConsultoras.instancia.agregar(consultora);
});
// ...
}
Por otro lado, repasamos (la explicación completa está en el video subido al webcampus) cómo funcionan las sesiones HTTP como forma de simular estado en un protocolo stateless. Además integraremos nuestras vistas con la persistencia, utilizando transacciones para las operaciones mutables.
Material
- Documentación de Javalin
- De nuevo (repaso de ruteadores y cómo y por qué separar en controladores): Introducción a MVC Web del lado del servidor con Javalin
- Código: consultoras con soporte transaccional para Java 17
- Código: consultoras para Java 17
- Código: base de Java 17 + Javalin + JPA
- Ejercicio de QMP8
Para la próxima clase
- Leer El diablo está en los detalles
- Opcional: Introducción a arquitectura
- Leer EntregasYaYaYa