Isso pode acontecer se você não carregou o driver antes de fazer a primeira conexão.
Class.forName("com.mysql.jdbc.Driver");
Para ter certeza, o driver tem que ir em
/WEB-INF/lib , não em /WEB-INF . A propósito, você tem alguns buracos de injeção de SQL. Veja PreparedStatement . O finally também pode ser melhorado, como você tem agora, o con nunca será fechado quando rs.close() lança uma exceção.