Hi Leute ;-)
Ich darf für die Uni mal wieder Hausaufgaben programmieren und komme nicht weiter...
Wir sollen per HTML eine Eingabe des Benutzers ermöglichen ( er soll in unserer Datenbank einfach nach einem Liedtitel suchen )
Nach der Eingabe soll dann das Ergebnis auf einer HTML Seite ausgegeben werden.
Mein Code sieht bisher so aus:
Das Problem ist wohl, dass ich diese ganze Datenbankverbindung nicht mit in die doGet-Methode mit reinnehmen darf - wenn ich die extra kommentierte Zeile mit
rausnehme kompiliert er das Programm ohne Fehlermeldung (natürlich halt ohne vernünftige Ausgabe).
Lasse ich die Zeil drin, meckert er,
Weiß jemand, wie ich das trotzdem irgendwie gebacken kriege?
Gruß Zel ;-)
Ich darf für die Uni mal wieder Hausaufgaben programmieren und komme nicht weiter...
Wir sollen per HTML eine Eingabe des Benutzers ermöglichen ( er soll in unserer Datenbank einfach nach einem Liedtitel suchen )
Nach der Eingabe soll dann das Ergebnis auf einer HTML Seite ausgegeben werden.
Mein Code sieht bisher so aus:
Java:
private String sqlAbfrage;
private PrintWriter out;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
out = response.getWriter();
sqlAbfrage = request.getParameter("sqlAbfrage");
out.write("<html> \n");
out.print("<head>\n<title>Ausgabe</title>\n</head>\n");
out.print("<body>\n");
out.print("<h1>");
sqlQuery(); // Hier liegt der Hase im Pfeffer
out.print("</h1>\n");
out.print("</body>\n</html>\n");
out.close();
}
private void sqlQuery() {
Connection con = null;
String driver = "org.postgresql.Driver";
String DB_SERVER = "localhost:5432";
String DB_NAME = "Meine_DB";
String password = "dbae";
String user = "postgres";
String url = "jdbc:postgresql://" + DB_SERVER + "/" + DB_NAME;
ResultSet rs = null;
String sqlMedium = "SELECT DISTINCT medium.medium_id AS ID, "
+ "medium.medium_titel AS Titel, medium.medium_art AS Speichermedium, "
+ "medium.preis AS Preis FROM medium WHERE medium.medium_titel = "
+ "? ORDER BY medium.medium_titel;";
try {
Class.forName(driver);
con = DriverManager.getConnection(url, user, password);
PreparedStatement pstmt = con.prepareStatement(sqlMedium);
pstmt.setString(1, sqlAbfrage);
rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString(1) + " " + rs.getString(2)
+ " " + rs.getString(3) + " " + rs.getString(4));
}
} catch (ClassNotFoundException e) {
System.out.println("Class not Found Error: " + e.getMessage());
} catch (SQLException e) {
System.out.println("SQL Error");
e.getMessage();
} finally {
// Always close the database connection
try {
if (con != null)
con.close();
} catch (SQLException ignored) {
}
}
}
Das Problem ist wohl, dass ich diese ganze Datenbankverbindung nicht mit in die doGet-Methode mit reinnehmen darf - wenn ich die extra kommentierte Zeile mit
Java:
sqlQuery()
Lasse ich die Zeil drin, meckert er,
Java:
Class not Found Error: org.postgresql.Driver
Weiß jemand, wie ich das trotzdem irgendwie gebacken kriege?
Gruß Zel ;-)