Điều đó có thể xảy ra nếu bạn không tải trình điều khiển trước khi thực hiện kết nối đầu tiên.
Class.forName("com.mysql.jdbc.Driver");
Để chắc chắn, trình điều khiển phải truy cập /WEB-INF/lib , không có trong /WEB-INF . Nhân tiện, bạn đã có một số lỗ hổng SQL injection. Xem PreparedStatement . finally cũng có thể được cải thiện, như bạn có bây giờ, con sẽ không bao giờ bị đóng khi rs.close() ném một ngoại lệ.