Hay un paso que no se explica en los videos en el tiempo que se hace, debes eliminar el "con" del "try-with-resources", lo que dejaria un "try-catch" regular en todos los métodos de "productoDAO" debido que al llamar a cada uno de los métodos individualmente cierra la conexión en automatico, pero la conexion se crea desde que se inicializa el "ProductoController" una unica vez en el programa y al cerrarla no se vuelve a crear.
Esto se puede vislumbrar en la clase "5 Capa de Persistencia conDAO", antes del ultimo video "El Estándar MVC" aún tiene los "con" en los métodos y en ese ultimo video ya se pueden ver los metodos sin ellos.
Solo elimina esta parte en los métodos:
- guardar()
- listar()
- modificar()
- eliminar()
De la clase "productoDAO"
Al final habrá que ver donde cerrar las conexiones abiertas