Postgres Datenbank auf Tomcat 5.5 aufsetzen

Hallo zusammen,

bin noch etwas grün hinter den Ohren was das entwickeln von dynamischen Webseiten angeht und dem entsprechend auch beim Umgang mit Tomcat.

Nach dem ich viele Foren durchsucht habe und auch nach Literatur gesucht habe, aber nicht fündig geworden bin, wende ich mich mal direkt an die Fachleute.

Ich denke mein Problem ist ganz einfach. Allerdings bekomme ich es nicht gelöst. Ich will lediglich über ein Java-Servlet eine einfache postgresDB ansprechen und mir ihre Daten ausgeben. Habe dafür in der Datenbank eine ganz kleine Tabelle mit einer beschriebenen Zeile (int ID, String titel).

Als Webserver nutze ich den Tomcat v5.5.28

Es wäre sehr nett, wenn mir jemand erklären kann, wie ich dem Tomcat die Datenbank zuweise, bzw. das er darauf zugreift und vllt ein Beispiel wie man dann über das Servlet die Verbindung herstellt.

Vielen dank schonmal im vorraus.

tomcat + postgresql Datenbank: JDBC
Hallo,

dein Problem hat nicht direkt etwas mit Tomcat zu tuen. Denn du nutzt aus einem Servlet eine Datenbank, wie mit einen normalen Javaprogramm per JDBC. Den JDBC Treiber gibts unter: http://jdbc.postgresql.org/

Die JDBC-Treiber-JAR-Datei wird unter deiner WebApp im Ordner WEB-INF/lib abgelegt (oder global verfügbar gemacht).

Es empfiehlt sich natürlich eine Bean zu implementieren, die im Application-Scope liegt und eine permanente DB-Verbindung hält. Dafür kannst du gerne meinen Stub nutzen:

public class ConnectionBean {

 private Connection dbConnection = null;
 private boolean driverRegistered = false;


 public void connect() throws SQLException {
 if(!driverRegistered){
 DriverManager.registerDriver(JDBC\_DRIVER);
 driverRegistered = true;
 }

 if (dbConnection == null || dbConnection.isClosed()){
 dbConnection = DriverManager.getConnection(JDBC\_URL);
 dbConnection.setAutoCommit(true);
 }

 }

 public void disconnect() {
 try {
 dbConnection.close();
 } catch (Exception e) {
 }
 }


 public Connection getDbConnection() throws SQLException {
 connect();
 return dbConnection;
 }

}

Vergess aber nicht, nach den SQL-Aufrufen Statement.close() aufzurufen. Sonnst bleiben die Cursor dank der permanenten Verbindung offen und du kannst irgendwann keine Anfragen mehr stellen.

Gruß Thomas