Applets und Applikation verbinden
Deborah
- java
Hallo Leute,
ich habe eine Java-Applikation geschrieben, die Daten aus der Datenbank liest.
import java.net.URL;
import java.sql.*;
class jdbcquery
{
public static void main (String args[])
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection connection = DriverManager.getConnection("jdbc:odbc:test", "Name", "Passwort");
Statement statement = connection.createStatement();
dbout(statement);
statement.close();
connection.close();
} catch(java.lang.ClassNotFoundException e)
{
System.out.println("JDBC-ODBC-Treiber nicht gefunden");
} catch(java.sql.SQLException e)
{
System.out.println("Fehler beim Abfragen der Datenbank");
}
}
private static void dbout(Statement statement) throws java.sql.SQLException
{
ResultSet result = statement.executeQuery("SELECT Name, Strasse, TelNr FROM adressen");
while (result.next())
{
String Name = result.getString("Name");
String Strasse = result.getString("Strasse");
int TelNr = result.getInt("TelNr");
System.out.println(Name + ", " + Strasse + ", " + TelNr);
}
result.close();
}
}
Wie mach ich es jetzt, dass ich diese Java-Applikation auf einer Webseite starte und die abgefragten Werte an ein Java-Applet ausgebe?
Ich will naemlich eine Homepage erstellen, die Werte aus einer Datenbank ausgibt, darf aber nur Java (und JavaScript) verwenden.
Hab leider wenig Erfahrung mit Java und ware sehr dankbar, wenn mir jemand helfen koennte.
mfg Deborah
Hi Deborah,
Hallo Leute,
ich habe eine Java-Applikation geschrieben, die Daten aus der Datenbank liest.
...
Wie mach ich es jetzt, dass ich diese Java-Applikation auf einer Webseite starte und die abgefragten Werte an ein Java-Applet ausgebe?
Ich will naemlich eine Homepage erstellen, die Werte aus einer Datenbank ausgibt, darf aber nur Java (und JavaScript) verwenden.
Hab leider wenig Erfahrung mit Java und ware sehr dankbar, wenn mir jemand helfen koennte.
im Prinzip gibt es mehrere Möglichkeiten. Auf Anhieb fallen mir zwei ein: eine Socketverbindung oder ein Corba-Aufruf. Falls Du mit Sun-Java arbeitest, dann findest Du auf der HP von Sun eine ausführliche Doku. M$ sollte aber auch genügend Lektüre bieten.
Jenachdem was Dir besser gefällt:
1. Variante Corba:
Die Methode dbout liefert als Rückgabewert ein Array der Ergebnisse. Die Methode wird über Corba dem Client (Java-Applet) bekannt gemacht.
Der Client ruft die Methode auf, um die Ergebnisse zu bekommen.
2. Variante Socket-Verbindung:
Der Client (Java-Applet) stellt eine Socket-Verbindung zur Verfügung.
Die Methode dbout connected sich zu dieser Verbindung, sendet die Ergebnisse und schließt die Verbindung wieder.
Beide Varianten finde ich etwa gleich spannend und schwierig.
mfg Deborah
Schöne Grüße zurück,
Andreas
und wenn mal ein wenig Abwechslung gefragt ist:
http://schigold.de/spiel/
Hallo Andreas,
- Variante Socket-Verbindung:
Der Client (Java-Applet) stellt eine Socket-Verbindung zur Verfügung.
Die Methode dbout connected sich zu dieser Verbindung, sendet die Ergebnisse und schließt die Verbindung wieder.
Habe mich fuer die zweite Methode entschieden, da ich mich schon mit den Seiten von Kaffee und Kuchen (http://java.seite.net/wasisjava.html) beschaeftigt habe. Und die den Chat auch mit einer Socket-Verbindung realisiern (der Chat hat bei mir leider nicht funktioniert :-( )
Deshalb habe ich mich mal drangesetzt und in Java ist auch eine Insel das Kapitel ueber Sockets gelesen. Aber das "einfache" Ping-Beispiel funktioniert bei mir leider auch nicht ("seufz" heute ist nicht mein Tag)
Wo finde ich einige hilfreiche Tips wie ich so eine Socket-Verbindung erstelle?
Schöne Grüße zurück,
Andreas
Gruss Deborah
P.S nettes Spiel, tolle Abwechslung
und wenn mal ein wenig Abwechslung gefragt ist:
http://schigold.de/spiel/
Hallo Deborah
Du brauchst das nicht auf so niedrieger Ebene umsetzen.
Per JDBC kannst du vom Applet aus direkt eine Verbindung zur DB machen, vorausgesetzt diese Läuft auf dem selben Server.
Sollte sie das nicht, würde ich die Daten von einem Servlet o.ä. aus der DB holen lassen. Das Servlet kannst Du dann mit der Klasse java.net.URL ganz einfach über die Url anrufen und die Ausgabe parsen.
Grüße
Daniel