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