För det första är anslutningsadressen fel. Post 8080 används normalt av en webbserver som Apache Tomcat. Oracle själv använder standardporten 1521. Se även denna Oracle JDBC-dokumentation .
Vidare glömde du att ringa ResultSet#next()
. Detta kommer att placera markören till nästa rad i resultatuppsättningen. Resultatuppsättningen returneras med markören före första raden. Alla getXXX()
anropar ResultSet
kommer att misslyckas om du inte flyttar markören.
Om du förväntar dig flera rader i en resultatuppsättning måste du använda while
loop:
resultSet = statement.executeQuery();
while (resultSet.next()) {
String columnname = resultSet.getString("columnname");
// ...
}
Eller om du bara förväntar dig en rad, kan du också gå vidare med en if
uttalande:
resultSet = statement.executeQuery();
if (resultSet.next()) {
String columnname = resultSet.getString("columnname");
// ...
}
För fler tips och exempel på hur du använder grundläggande JDBC på rätt sätt (även i JSP/Servlet) kan du hitta denna artikel användbar. Sättet du stängde uttalandet och anslutningen till exempel är benäget att resursläcka. Att ladda JDBC-drivrutinen på GET-begäran är också onödigt dyrt. Gör det bara en gång under programmets start eller servlets initiering.