Вы также не должны использовать ResultSet в JSP. Это курсор базы данных, дефицитный ресурс. Вы можете заставить это «работать» на простой странице, но держу пари, что вы не несете четкой ответственности за закрытие ResultSet, Statement или Connection в своем коде. Вы скоро закончите и будете удивляться, почему ваш код падает с исключениями.
Ни одна из реализаций интерфейса java.sql не должна выходить за пределы четко определенного уровня персистентности. Получите соединение, получите ResultSet, сопоставьте его с объектом или структурой данных и закройте все свои ресурсы в обратном порядке получения, затем верните объект или структуру данных в свой JSP, написанный только для JSTL и без скриптов, для отображения. Это правильная вещь.
Если вы ДОЛЖНЫ использовать SQL в JSP, используйте для этого теги JSTL .