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 einfach 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.

Tut mir leid, darauf habe ich keine Antwort, weil keine Erfahrung mit Java.
Postgresql nur in Verbindung mit PHP und „normale“ SQL-Statements/Scripte.
Gruss
BF

Hallo Soolkeeper,
sorry, aber mit Java-Servlets kenne ich mich gar nicht aus, mein Gebiet ist er SQL.
Grüße aus Wuppertal
Andreas Pfeiffer

Hallo,
vielleicht hilft das weiter

http://www.fankhausers.com/postgresql/jdbc/

Gruß,
Honeyhead

Hallo,

Die Datenbankverbindung zu postgresql läuft über JDBC.

Die Edel-Lösung: Verbindungsaufbau mit Nutzung von Hibernate (java-Framework zur Nutzung von Datenbanken).
Ich rate davon ab (viel zu kompliziert).

Die einfachere Lösung:

  1. JDBC-Connections selbst einrichten
  2. SQL-Abfragen ‚händisch‘ absetzen

Hierbei muss Tomcat oder die Tomcat-Konfiguration nicht verändert werden.

Wie mann postgresql-JDBC einrichtet, kann man hier lesen:
http://www.fankhausers.com/postgresql/jdbc/
Download des JDBC-Wrappers:
http://jdbc.postgresql.org/

Ich hoffe, damit kommst du weiter…
Ilona

Hallo,

ich kenne Tomcat nicht, gehe aber mal davon aus, dass in den Programmen (Servlets) dort ganz normal JDBC benutzt wird.

Das wird z. B. hier erläutert: https://www.bg.bib.de/portale/dab/pdf/jdbc.pdf

Viele Grüße
Holger

tut mir leid, aber da kann ich dir leider nich tweiterhelfen

Hallo Soulkeeper,

hier kann ich dir leider nicht weiterhelfen, da ich mit Tomcat selbst noch keine Erfahrung habe. Falls du Fragen direkt zum PostgreSQL-Server oder dessen Programmierung hast, kannst du mich gerne wieder fragen.

Liebe Grüße
Markus

Hi Soulkeeper

Es ist zwar schon ein wenig her, aber genau das habe ich schonmal in der Schule gemacht. Den Datenbankzugriff regelt dabei Java und nicht der Tomcat. Damit Java mit der Postgres kommunizieren kann, brauchst du eine JDBC-bridge (habe da so ein File: postgresql-8.1-407.jdbc3.jar, findest aber bestimmt eine neuere Version). Dieses bindest du in dein Projekt ein und greifst in einer DAO-Klasse (kannst googeln :smile: ) darauf zu.

Schick mir eine Email an [email protected], dann schick ich dir ein Beispielprojekt für Netbeans 6 zurück (verwendet JavaBeans für bessere Struktur). Kontakt aufnehmen ist aber sonst nicht über die Adresse möglich, da ich sie als Spam-Müllkorb benutze.

mfg Thomas

Auszug aus meinem DAO:

_public class DAO {

 private Connection con;

 public void connect(String user, String pwd) throws SQLException {
 try {
 Class.forName("org.postgresql.Driver");
 con = DriverManager.getConnection("jdbc:stuck\_out\_tongue:ostgresql://192.168.0.2/vv", user, pwd);
 } catch (ClassNotFoundException ex) {
 Logger.getLogger(DAO.class.getName()).log(Level.SEVERE, null, ex);
 }
 }

 public List getSachbereiche() throws SQLException {
 String sql = "select tb\_id, tb\_bezeichnung from themenbereich";
 Statement st = con.createStatement();
 ResultSet rs = st.executeQuery( sql );
 List lst = new ArrayList();
 while(rs.next()) {
 Sachbereich sb = new Sachbereich();
 sb.setId(rs.getInt(1));
 sb.setThema(rs.getString(2));
 lst.add(sb);
 }
 return lst;
 }
.
.
._

Hallo,

sorry für die späte Antwort. Vielleicht hilft’s ja noch:
letztlich muss man den entsprechenden Datenbanktreiber für Java in das WEB-INF/lib-Verzeichnis der Applikation kopieren (http://jdbc.postgresql.org/download.html). Der Treiber wird dann automatisch durch den Tomcat geladen und steht in der gesamten Anwendung zur Verfügung.

Von der Verwendung in Serverpage selber ist abzuraten, aber es funktioniert genauso wie in Java selbst, also etwa so:

try
{
 Class.forName("org.postgresql.Driver");
 Connection conn = DriverManager.getConnection("jdbc:stuck\_out\_tongue:ostgresql:datenbank-url", "user", "password");
 Statement query = conn.createStatement(); 
 ResultSet rs = statement.executeQuery("SELECT \* FROM ganzkleineTabelle;");
 while(rs.next())
 {
 out.write(rs.getInt("ID") + " / " + rs.getString("titel") + "
"));
 }
 rs.close();
 query.close();
 conn.close();
}
catch(ClassNotFoundException e)
{
 // ...
} 
catch(SQLException e)
{
 // ...
}