Cela peut arriver si vous n'avez pas chargé le pilote avant d'établir la toute première connexion.
Class.forName("com.mysql.jdbc.Driver");
Pour être sûr, le pilote doit aller dans /WEB-INF/lib
, pas dans /WEB-INF
. Vous avez là d'ailleurs quelques trous d'injection SQL. Regardez PreparedStatement
. Le finally
peut également être amélioré, comme vous l'avez maintenant, le con
ne sera jamais fermé lorsque rs.close()
lève une exception.