Cita:
Iniciado por jkintero siempre conecto y desconecto de la base de datos
Este es el problema. Si lo haces así y no limitas de alguna forma el número de conexiones que se crean, entonces si alguien machaca a peticiones esa página entonces puede crear "infinitas" conexiones y cargarse la BDD.
Por eso se usan "pools" de conexiones de BDD que limitan el numero de conexiones que puede haber creadas simultaneamente y bloquean el acceso hasta que haya una libre si se llega al limite.
Lo habitual en estos casos es no abrir las conexiones "manualmente" desde el programa sino acceder a traves de un DataSource con pools de conexiones. Configurar el DataSource depende del servidor, al menos hasta que no este Servlet 3.0 implementado, así que hay que consultar la documentación del servidor.
S!