Eso puede suceder si no cargó el controlador antes de realizar la primera conexión.
Class.forName("com.mysql.jdbc.Driver");
Para estar seguro, el controlador debe ir en /WEB-INF/lib
, no en /WEB-INF
. Por cierto, tienes algunos agujeros de inyección de SQL. Mire PreparedStatement
. El finally
También se puede mejorar, como lo tienes ahora, el con
nunca se cerrará cuando rs.close()
lanza una excepción.