Das kann passieren, wenn Sie den Treiber nicht geladen haben, bevor Sie überhaupt die erste Verbindung hergestellt haben.
Class.forName("com.mysql.jdbc.Driver");
Zur Sicherheit muss der Treiber in /WEB-INF/lib abgelegt werden , nicht in /WEB-INF . Sie haben dort übrigens einige SQL-Injection-Löcher. Sehen Sie sich PreparedStatement an . Der finally kann auch verbessert werden, wie Sie es jetzt haben, der con wird niemals geschlossen, wenn rs.close() löst eine Ausnahme aus.