Во-первых, неправильный URL-адрес подключения. Post 8080 обычно используется таким веб-сервером, как Apache Tomcat. Сам Oracle использует порт по умолчанию 1521. Также см. в этой документации Oracle JDBC .
Далее вы забыли позвонить ResultSet#next()
. Это установит курсор на следующую строку в наборе результатов. Набор результатов возвращается с курсором перед первой строкой. Любые вызовы getXXX()
на ResultSet
завершатся неудачно, если вы не переместите курсор.
Если вы ожидаете несколько строк в наборе результатов, то вам нужно использовать while
loop:
resultSet = statement.executeQuery();
while (resultSet.next()) {
String columnname = resultSet.getString("columnname");
// ...
}
Или, если вы ожидаете только одну строку, вы также можете продолжить с оператором if
:
resultSet = statement.executeQuery();
if (resultSet.next()) {
String columnname = resultSet.getString("columnname");
// ...
}
Дополнительные советы и примеры правильного использования basic JDBC (также в JSP / Servlet) вы можете найти в этой статье полезной. То, как вы закрыли оператор и соединение, например, подвержено утечке ресурсов. Также загрузка драйвера JDBC по запросу GET неоправданно дорогая. Просто сделайте это один раз во время запуска приложения или инициализации сервлета.