# MySQL+Webserver --(Java-Applet)----> Client



## ADVOAR1 (17. Jan 2007)

Hihi....

Ich möchte eine Webseite mit Java schreiben (Java-Applet) welche auf einen MySQL-Server zugreift,
allerdings gibt es da ein kleines Verständnissproblem.

An sich ist jdbc meiner Meinung nach dazu da, um die Verschiedenen SQL-Dialekte zu übersetzen.....

Nun müsste der Client ja, wenn ich über JDBC gehe, dies auf seinem Computer installieren.
Dies würde ich Sub-optimal finden.

Währe es möglich, entweder den Server so zu konfigurieren, das er die jdbc-Funktion übernimmt,
oder dass das Java-Applet ohne einen jdbc-Treiber oder anderen connector den MySQL-Server anspricht????


----------



## bronks (18. Jan 2007)

JDBC ist eine API, die Java seit V1.1 immer dabei hat. Für JDBC braucht man daneben noch einen Datenbanktreiber, den man auf dem Client nicht installiert.

SQL-Dialekte werden von JDBC nicht übersetzt. Zudem versteht gerade MySql scheinbar nur seinen eigenen total miesen Dialekt, weshalb es zu EJB nicht kompatibel ist.


----------



## ADVOAR1 (18. Jan 2007)

Also benötige ich das jdbc überhaupt nicht für die Verbindung sondern nur für die Darstellung der Daten????


----------



## ADVOAR1 (18. Jan 2007)

Also muss ich jetzt nur noch auf dem Server einen Datenbanktreiber installieren oder was?????

Aber was für ein Treiber soll ich nehmen???
(Link währe ganz praktisch)


----------



## L-ectron-X (18. Jan 2007)

JDBC ist die API, mit der es möglich ist, Datenbankanwendungen in Java zu entwickeln. Sie stellt dafür Klassen und Methoden für die Verbindungsherstellung, Abfrage und Manipulation verschiedener Datenbanken zur Verfügung.
Für MySQL brauchst du allerdings den passenden Treiber, der als fertige Bibliothek (jar-Datei) zum Download angeboten wird. Diese jar-Datei bindest du in den ClassPath des Clients ein. Die Verbindung zur Datenbank stellst du dann wie hier gezeigt her.
Sehr wahrscheinlich muss das Applet dann auch noch signiert werden.
Hilfe zur Vermeidung und Erkennung häufig auftretender Fehler im Zusammenhang mit dem Connector/J findest du hier.


----------



## ADVOAR1 (18. Jan 2007)

Gibt es nicht auch irgendwie die möglichkeit, das diese jdbc nicht auf den Clients installiert werden muss????

Notfalls währe es nicht vieleicht möglich das man ein Servlet schreibt, welches auf dem Server die Verbindung mit dem MySQL Server herstellt. Und das dann das Applet sich nur noch mit dem Servlet verbindet??????


----------



## L-ectron-X (18. Jan 2007)

Wenn du Servlets verwenden willst, sind Applets meist überflüssig. Du kannst die Suche und die Ausgabe der Daten dann auch ohne Applets in den Webseiten gestalten.
Und bei der Verwendung von Applets braucht auch nichts installiert zu werden. JDBC ist mit jeder JRE, die ja zur Ausführung von Applets benötigt wird, dabei.
Das Einzige, was zusammen mit dem Applet vom Server heruntergeladen werden muss ist der Connector/J.
Und der ist mit einer Größe von knapp 480kB für ein Applet, dass vielleicht im Internet zur Verfügung gestellt werden soll, ziemlich fett. Aber gut, zu Zeiten von Breitbandverbindungen sind das nur 5 - 10 Sekunden...


----------



## ADVOAR1 (18. Jan 2007)

Also kann ich auch nur über Applets gehen, und mich dann mit dem MySQL Server verbinden, ohne Manuell was auf dem Client zu installieren???

Kann sich der Browser dann selber den Connector downloaden?
Oder kann ich es irgendwie machen, das das Applet automatisch den Connector herunterlädt, wenn dieser nicht vorhanden ist???


----------



## bronks (18. Jan 2007)

ADVOAR1 hat gesagt.:
			
		

> Also kann ich auch nur über Applets gehen, und mich dann mit dem MySQL Server verbinden, ohne Manuell was auf dem Client zu installieren???


Ja! Genau so ist es!



			
				ADVOAR1 hat gesagt.:
			
		

> ... Kann sich der Browser dann selber den Connector downloaden?


Du legst die Jar mit dem Connector einfach in den Codebase Deiner Applikation. Der Rest läuft automatisch.

Solltest Du Deine App ins Internet stellen wollen, dann muß Dein ISP die Datenbank für externen Zugriff freigeben, was mit einigen Risiken verbunden ist. Das bietet nicht jeder ISP an. Mit JSP und Servlet bleiben Dir diese Probleme erspart. Evtl. lohnt es sich für Dich einen Blick darauf zu werfen.


----------



## ADVOAR1 (18. Jan 2007)

Naja, aber wenn ich das richtig verstehe geht das dann wieder los mit mehreren Sprachen, wie halt Javascript und html u.s.w.

Genau das will ich vermeiden....
ich möchte lieber mit einer Sprache schreiben, in der ich dann auch alles mögliche machen kann. andauernd die Syntax zu ändern gefällt mir einfach nicht so.

Deswegen würde ich ja sagen das sich nur das Servlet verbindet und dieses dann die Daten an das Applet weitersendet.

so hab ich möglichkeiten mit einer Sprache alles zu machen und
es müssen keine externen Berechtigungen auf dem MySQL-Server gesetzt werden.

Muss ich nur ma schaun, wie man zwischen Servlet und Applet ne Verbindung herstellt.

danke für die Hilfe


----------



## L-ectron-X (18. Jan 2007)

L-ectron-X hat gesagt.:
			
		

> Wenn du Servlets verwenden willst, sind Applets meist überflüssig.


----------



## Yzebär (18. Jan 2007)

Alternativ kannst du auch eine Kombination Applet + RMI verwenden. Der RMI-Server, der auch auf dem Webserver läuft, hat Zugriff auf die Datenbank und stellt dem RMI-Client (das Applet) Methoden zur Verfügung Daten abzufragen oder zu bearbeiten.


----------

