Applet soll XML-File auf Server speichern

HarryG32

Mitglied
Ich möchte ein File, das per Applet erzeugt wurde, auf einem Server speichern. Bisher funktioniert es so, dass ich eine Collection von Objekten an ein Servlet übergebe und aus diesen Objekten auf der Serverseite ein XML-File erzeuge. Das Ganze ist mir aber zu umständlich, da ich dadurch einige Klassen mehr auf der Serverseite brauche.

Könnte ich das File vor dem Speichern auf dem Client speichern, wäre es viel einfacher. Das darf ich aber ned und ein signiertes Applet will ich ned haben. Eine andere Technologie möchte ich jetzt auch nimma verwenden, da ich schon relativ weit damit bin.

Geht es, dass man das XML-File nur temporär erzeugt (ohne die Applet-Einschränkungen?) bzw. im Erstellungsprozess gleich den Stream (z.b.der in ein File schreiben würde) an das Servlet schickt??
 
Zuletzt bearbeitet:
N

nillehammer

Gast
Applets dürfen ohne erweiterte Berechtigungen zum Server, von dem sie stammen, zurückfunken. Du könntest das generierte XML als String über einen POST-Request an Dein Servlet senden. Entweder bindest Du dafür eine externe Lib à la Apache HttpClient ein oder du machst es mit Java-Bordmitteln. Stichwort hier ist HttpUrlConnection. Wenn du nach "HttpUrlConnection Post XML to Servlet" googelst, findest Du direkt Code, den Du kopieren kannst.
 

HarryG32

Mitglied
@Fart: Und wie geht das? Bitte etwas mehr Infos?

@nillehammer:

Du könntest das generierte XML als String über einen POST-Request an Dein Servlet senden.

Wenn ich ein XML generiere, heisst das doch, dass ich es auf dem Clientrechner speichere oder? Genau das möchte ich ned haben bzw. darf mein Applet ned...Ich möchte beim Erzeugen der XML-Datei, diese gleich auf dem Server speichern und das per Servlet auf der Serverseite.

Vielleicht meintest du das ja mit dem String, also statt in einen FileOutputStream in ein String-Objekt schreiben, ich werd mir die Sache mal überlegen bzw. auch dazu weiter googeln...

Hier wird das File auf der Serverseite erzeugt, davor ist der Code der den Vektor mit Objekten ausliest und die Objekte ensprechend als Elemente mit Attributen in die XML-Struktur einfügt:

Java:
try {
        XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
        FileOutputStream output = new FileOutputStream(filename); 
			
	outputter.output(dokument,output);
	System.out.println("File created");
			
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

Kann ich das XML-Document verschicken und den obigen Teil auf dem Server ausführen??
 
Zuletzt bearbeitet:

FArt

Top Contributor
Du kannst eine Verbindung zum Server aufbauen und anstatt die Daten in eine Datei zu streamen, streamst du sie direkt zum Server, der natürlich mit dem reinen XML etwas anfangen können muss.

Ohne deinen Anforderungen genau zu kennen würde ich aber auch die Aussage anfechten wollen, dass das auf dem Server zu umständlich ist. Das kommt aber definitiv auf den Anwendungsfall an bzw. was für Daten benötigt werden, um das XML generieren zu können.
 
N

nillehammer

Gast
HarryG32 hat gesagt.:
Wenn ich ein XML generiere, heisst das doch, dass ich es auf dem Clientrechner speichere oder?
Nein, das meinte ich damit nicht. Ich meinte halt, dass Du aus Deinen Daten eine wie auch immer geartete XML-Struktur (im RAM) erzeugt hast. Dein Code zeigt, dass Du dies in einer Variablen namens "dokument" getan hast.

Der von Dir gezeigte Code macht im Grunde genau das, was ich vorgeschlagen habe. Er wandelt die XML-Struktur in einen String und schiebt diese in einen OutputStream (hier FileOutput). Baue Deinen Code so um, dass Du statt dem FileOutputStream den Outputstream einer URLConnection nimmst. Wie Du daran kommst, siehe mein letzter Post.

Auf Seiten des Servlets reicht es imho, in der doPost-Methode den String aus dem Stream zu lesen und direkt in eine Datei zu schreiben. Eine Zwischenwandlung in XML halte ich hier für unnötig, falls du "nur" speichern möchtest.

Ach ja, vermeide bei Übertragungen das Pretty-Format (Format.getPrettyFormat()). Das erzeugt je nach Struktur des XML-Dokuments einen riesen Overhead für die Zeilenumbrüche und Einrückungen.
 
Zuletzt bearbeitet von einem Moderator:

HarryG32

Mitglied
Hallo, ich hab die Lösung! :) Ich schicke einfach das erzeugte XML-Document rüber und mache folgendes im Servlet, sobald ich das Document drüben habe:

Java:
private void saveXMLDocument(String filename, Document document){
		
		try {
			XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
			FileOutputStream output = new FileOutputStream(filename);
			
			outputter.output(document,output);
			System.out.println("File created");
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

Danke für eure Denkanstösse! Nun erspar ich mir einige Klassen auf der Serverseite, jippie yeah! :)

@nillehammer: ich muss die Daten auch wieder laden, darum brauche ich das XML-Format...aber so lässt es sich ja ganz einfach bewerkstelligen :)
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Applet soll Daten auf Server ablegen - einfachster Weg fuer n00bs? Netzwerkprogrammierung 4
Androbin Socket Fehlerhafter Applet-Chat Netzwerkprogrammierung 12
S Datei schreiben über Applet Netzwerkprogrammierung 8
N Applet/Applikation auf Xport laufen lassen Netzwerkprogrammierung 10
N Applet Access Denied Netzwerkprogrammierung 12
TheJavaKid Webcam-Chat im Applet (ChatRoulette Klon) Netzwerkprogrammierung 10
S Socket Applet Client bekommt keine GLOBALE Verbindung zum Server Netzwerkprogrammierung 25
B FTP Applet mit FTP-Server-Zugriff sicher gestalten Netzwerkprogrammierung 12
O php - applet Kommunikation Netzwerkprogrammierung 9
B Client Server Applet keine Ahnung Netzwerkprogrammierung 3
R Applet --> PHP --> Applet Netzwerkprogrammierung 2
E Userliste für Chat Applet Netzwerkprogrammierung 4
B RTP - Applet Starthilfe Netzwerkprogrammierung 7
B Globale IP-Adresse auslesen - Java Applet Netzwerkprogrammierung 2
S RMI RMI-Applet kommunikation funktioniert nicht Netzwerkprogrammierung 8
J Applet Security - java.security.AccessControlException: access denied Netzwerkprogrammierung 3
H Socket Mit Applet Verbindung zu eigener Website aufbauen Netzwerkprogrammierung 4
E Files von Server laden in Applet Netzwerkprogrammierung 5
aze Applet von Webseite aufrufen und mit diesem kommunizieren Netzwerkprogrammierung 8
M chat als applet umgeschrieben - unbekannter fehler :( Netzwerkprogrammierung 2
U Server-IP in Applet ermitteln Netzwerkprogrammierung 4
J Connection Speed Test ohne Applet Netzwerkprogrammierung 5
ABstraCT Applet multipler port Zugriff möglich ? Netzwerkprogrammierung 5
C Applet mit Script steuern Netzwerkprogrammierung 9
A Problem mit Netzwerkprogrammierung im Applet! Netzwerkprogrammierung 10
F applet verbindung zum server Netzwerkprogrammierung 6
R Java-Chat-Applet funktioniert nur in Eclipse Netzwerkprogrammierung 3
F Applet Datei Zugriff Netzwerkprogrammierung 13
M Server aus inem Applet heraus starten Netzwerkprogrammierung 4
G Applet und Netzwerkverbindungen? Netzwerkprogrammierung 2
F Daten senden und empfangen mit Applet Netzwerkprogrammierung 8
K Datenaustausch zwischen Applet und JSP Netzwerkprogrammierung 4
E Applet zum Datei-Upload Netzwerkprogrammierung 3
T Image aus Applet an PHP Seite senden? Netzwerkprogrammierung 3
S Java Applet Chat Grundsatzfrage Netzwerkprogrammierung 6
H RMI + Socket + Applet Netzwerkprogrammierung 5
N Chatprogrammierung - Applet Netzwerkprogrammierung 3
S Von Applet zu applet Netzwerkprogrammierung 7
G RMI + Applet - Verbindung nur lokal Netzwerkprogrammierung 27
S Applet und JWS auf Apache-Axis (SOAP) Netzwerkprogrammierung 8
Paule Connection Applet Servlet ohne Socket bzw RMI Netzwerkprogrammierung 2
G Applet java.net: acces denied Netzwerkprogrammierung 2
D Einfache Applet-Servlet-Kommunikation Netzwerkprogrammierung 5
R Applet & Netzwerk Netzwerkprogrammierung 4
M Servlet - Applet Kommunikation Netzwerkprogrammierung 3
M Einfachste Möglichkeit aus'm Applet Daten an Server senden Netzwerkprogrammierung 6
K Applet - Servlet Kommunikation ohne Sockets Netzwerkprogrammierung 5
R applet servlet kommunikation Netzwerkprogrammierung 2
M Zum x-ten Mal: Problem mit NetSend-Applet Netzwerkprogrammierung 5
C Applet <> Servlet Netzwerkprogrammierung 4
K Java RMI bricht ab wenn Remote eine Methode ausgeführt werden soll Netzwerkprogrammierung 5
C NTP-Applikation soll mit "fertigem" NTP-Server kommunizieren Netzwerkprogrammierung 2
F Welchen HTML Parser soll ich nehmen? Netzwerkprogrammierung 3
E TCP-Server soll viele offene Verbindungen verwalten Netzwerkprogrammierung 12
H Server soll Daten schicken, aber wie? Netzwerkprogrammierung 47
W Was für ein Stream soll ich verwenden? Netzwerkprogrammierung 8
Lazybone Client soll auf Knopfdruck vom Server warten Netzwerkprogrammierung 4
J Server soll Zugriff auf Java Programm ermöglichen Netzwerkprogrammierung 3
A serversocket soll anfrage vom handy entgegennehmen Netzwerkprogrammierung 4
F Wie soll ich meinen Server aufbauen? Netzwerkprogrammierung 4
D CSV File Upload Netzwerkprogrammierung 5
D Socket Gute Idee?: File als byte[] per ObjectIOStream übertragen Netzwerkprogrammierung 3
S Webserver für Jar File Netzwerkprogrammierung 4
R Apache HttpClient File Download? Netzwerkprogrammierung 3
0 Apache Commons File Object bekommen Netzwerkprogrammierung 4
D Server Client Verbindung - Unexpected End of File - Invalid HTTP Response Netzwerkprogrammierung 4
M HTTP File Upload mit Prozessbar Funktioniert nicht. Netzwerkprogrammierung 8
5 File Upload/ ClassNotFoundException Netzwerkprogrammierung 9
S RSS-Feed aus ini File Netzwerkprogrammierung 4
Z File über Socket lesen Netzwerkprogrammierung 3
N Socket File über Socket vom Server an Client versenden Netzwerkprogrammierung 15
F Protokoll file:/// Netzwerkprogrammierung 2
B JNLP File -> Web Application Netzwerkprogrammierung 10
R HTTP HttpURLConnection Large File Upload Netzwerkprogrammierung 1
DStrohma RMI Security Manager & Policy-File Netzwerkprogrammierung 8
DeviAn Über ein Linux Server ein Windows Server nach einer File fragen Netzwerkprogrammierung 6
P java file.exists() zuzerstörbar Netzwerkprogrammierung 7
E java.net.SocketException: Unexpected end of file from server Netzwerkprogrammierung 2
G SMB-File ausführen Netzwerkprogrammierung 15
J Problem beim Senden von File Netzwerkprogrammierung 4
J Mit der File Api Dateien von anderen Rechnern lesen ? Netzwerkprogrammierung 3
I unc pfad für die klasse file? Netzwerkprogrammierung 4
V file transfer problem Netzwerkprogrammierung 2
E upload progress bei einem http file post Netzwerkprogrammierung 5
L file upload / download über http Netzwerkprogrammierung 5
P File von http-Server kopieren Netzwerkprogrammierung 5
N File Transfer Netzwerkprogrammierung 5
D wie kann ich rmic ein .jar file übergeben? Netzwerkprogrammierung 3
R File chooser übers Netzwerk Netzwerkprogrammierung 3
J File upload mit ftp Netzwerkprogrammierung 4
G file download über https mit p12 Zertifikat Netzwerkprogrammierung 4
D Performance Problem beim File senden, empfangen Netzwerkprogrammierung 4
T file auf einen server laden Netzwerkprogrammierung 4

Ähnliche Java Themen

Neue Themen


Oben