Applet und Schreibrechte

Hallo.

Ich hänge gerade an einem Problem. Ich möchte für meine HP ein Gästebuch schreiben, leider ist die HP auf einem „freien“ Server, d.h. man kann keine Ansprüche stellen. In PHP und PERL bin ich nicht fit und ob CGI unterstützt wird weiss ich auch nicht. Ein Servlet hab ich mir schon geschreiben, aber das läuft natürlich nicht auf dem Server. Bleibt also nur noch ein Applet. Leider hat das Applet keine Schreibrechte bzw. ich hab erstmal eine „Security Exception“ bekommen. Ich habe dann nach einer Möglichkeit gesucht und bin fündig geworden:

URL url = new URL(getCodeBase(), „test.dat“);
URLConnection con = url.openConnection();
con.setDoOutput(true);
PrintWriter out = new PrintWriter(con.getOutputStream());
out.println(„test“);
out.close();

Mit diesem Code bekomme ich nun keine Fehlermeldung mehr, aber die Datei bleibt trotzdem leer!
Weiss jemand Rat?

mfg
Bernd

immernoch…
Ich habe nun mein Applet in ein JApplet umgeschreiben. Und siehe da, ich bekomme doch eine Fehlermeldung…

protokol doesn’t support output

Hat jemand eine Ahnung, wie man einem Protokoll das Schreiben beibringt?

Hallo Bernd,

du kannst über einen URL-OutputStream keine DAtei schreiben. Du kannt nur dann etwas schreiben wenn du ein Programm auf dem Zielserver hast das dort Schreibrecht besitzt. Dann kann man über eine Socketverbindung die Daten senden und schreiben. Wenn du das in Java realisierts kannst du diese Programm auch als Proxy verwenden um die Daten auf einen beliebigen Server weiterzuleiten. Ein Applet darf sich per definition nur mit dem Serververbinden von dem es geladen wurde.

m.f.g.
Thomas

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

protokol doesn’t support output

du kannst über einen URL-OutputStream keine Datei schreiben.
Du kannt nur dann etwas schreiben wenn du ein Programm auf dem
Zielserver hast das dort Schreibrecht besitzt. Dann kann man
über eine Socketverbindung die Daten senden und schreiben.
Wenn du das in Java realisierts kannst du diese Programm auch
als Proxy verwenden um die Daten auf einen beliebigen Server
weiterzuleiten. Ein Applet darf sich per definition nur mit
dem Serververbinden von dem es geladen wurde.

Nun, soweit ich das jetzt mitbekommen habe, kann ein Applet nur auf dem Server schreiben, von dem es geladen wurde. Ist kein Problem für mich, es soll ja auch nur dort schreiben (selbiges Verzeichnis sogar). Ich bentze zu Testzwecken den Apache. Anfangs durfte das Applet nicht mal lesen, ich habe aber einen Eintrag in einer Config-File gefunden, die das erlaubt. Nun gehe ich mal davon aus, dass man Apache auch so konfigurieren kann, dass es einem Applet gestattet irgendwo zu schreiben, oder wurde das nicht vorgesehen?
(habe unter „Internet-Software allgemein“ schon nachgefragt, bisher keine Nachricht)

soweit ich weiss kann der url-stream nicht auf platte schreiben. Du hattest auch den fehler protokoll. Unter Protokoll ist in diesem Fall der Protokoll-Type für web-anfragen zu verstehen also die die am anfang einer html seite stehen. soweit mir bekannt ist gibt es keine möglichkeit mit reinen html-mitteln daten auf eine Platte zu schreiben

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]