Swing Applet Serialisierung

C

chysm

Hallo zusammen,
habe hier im Forum schon einiges gelesen zum "oben genannten Thema" aber bin noch nicht ganz durchgestiegen und bräuchte die Infos für meine Dipl.-Arbeit.

Mit der Serialisierung eines Applets kann man ja gewissermaßen die Sandbox umgehen, dazu folgende Fragen.

1) Sind beliebige viele Netzwerkverbindungen zu entfernten Systemen möglich?
(ich müsste eine N-Verbindung zu 2 Systemen aufbauen)

2) Ermöglicht die Serialisierung auch das Nutzen eines JFileDialogs zum Hochladen von Dateien?

3) Muss jeder Browser auf dem das Applet laufen soll über das Zertifikat verfügen oder kann man dieses zentral auf einem Server ablegen und rgendwie im HTML-Dok. referenzieren?

Vielen Dank!

Chysm
 
Ui... Ich versuch mal die Fragen zu beantworten und hoffe, dass sie soweit auch richtig sind...

1) Soweit mir bekannt ist, kann man so viele Verbindungen öffnen, wie man lustig ist, bis halt der RAM voll läuft. Allerdings öffnet man in der Regel nicht so viele Verbindungen, so dass man eigentlich den einstelligen Bereich nicht übersteigt.

2) Die FileDialoge als Solches sind nur zum Auswählen von Dateien/Ordnern da. Hochladen etc. können die meines Wissen nix. Wenn man aber eine Datei ausgewählt hat, dann kann man diese natürlich auch über eine Verbindung abschicken und somit z.B. auf einem anderen System hochladen. Man sollte dann aber auch wissen, wie die Kommunikation der anderen Seite abläuft, sprich Protokoll etc.

3) Ein Zertifikat brauchst du, wenn das Applet soweit es geht alle Befugnisse erhält. Das Zertifikat wird dabei aber nicht in einer Datei abgespeichert oder so, sondern es wird eine JAR-Datei mit einem Zertifikat signiert. Wenn das Applet dann gestartet wird und es signiert ist und das Zertifikat noch nicht bekannt ist, dann wird der Browser eine Meldung ausgeben und fragen, ob man das Zertifikat akzeptiert.

Zum Erstellen von Zertifikaten und Signieren der JARs gibt es die zwei JDK-Tools "keytool" und "jarsigner". An der Stelle sei noch gesagt, dass die Signatur nur glaub 6 Monate lang gültig ist, dannach muss man die JAR erneut signieren. Kann aber auch an den eigenen Zertifikaten liegen. Bei gekauften Zertifikaten kann es auch sein, dass sie länger gültig sind, weiß ich aber nicht, da ich mir die Zertifikate bislang immer selbst erstellt hab.
 
Danke Akeshihiro,
das hilft mir echt weiter!

Ja die zweite Frage hatte ich etwas unglücklich formuliert. Wollte eigentlich wissen ob durch die Serialiserung auch auf FileDialoge zurückgegriffen werden kann.
Soweit ich das jetzt gelesen habe sind die in Standard-Applets nicht verwendbar.
 
Was heißt "Standard-Applets"?

Jedenfalls gibt es die Klasse java.awt.FileDialog, die könnte sowas. Allerdings klappt das mit Applets nicht, weil im Konstruktor ein Parent-Frame/Dialog angegeben werden muss und null wird scheinbar nicht akzeptiert.

Es gibt aber auch javax.swing.JFileChooser und damit klappt das wunderbar. Allerdings muss man, wie schon gesagt, die JAR dann signieren, das ist aber keine so große Sache...

Hab da mal flott nen Beispiel gemacht, damit du siehst, dass das auch geht...
Demo

EDIT:
Ein FileDialog-Objekt zu serialisieren macht glaube ich auch keinen Sinn. Ich bin mir nicht sicher, aber ich denke es würde zu einigen Fehlern führen, wenn man das empfangene Objekt versuchen würde zu benutzen, schon allein weil das Parent-Objekt nicht existiert.

Korrigier mich, wenn ich dich wieder falsch verstanden habe ^^ Jedenfalls funktioniert der JFileChooser, damit solltest du vermutlich normal arbeiten können.
 
Zuletzt bearbeitet:
Zurück