Generierte Bilder auf ApplicationServer werden nicht Angezeigt

elro2k

Grünschnabel
Hallo,

mein Problem ist Folgendes:

Ich habe eine WebAnwendung erstellt, welche ein 2D Graphic(PNG) anhand von eingegeben Informationen erstellt. Die Informationen werden über eine JSP an eine Java Klasse übergeben, welche das Bild erstellt und über den Absoluten Pfad(C:/Dokumente...) speichert. Starte ich nun die Anwendung, wird das Bild erstellt aber nicht angezeigt. Klicke ich nun im Netbeans im Hintergrund den Ordner an im Explorer, wird das Bild nach einer Aktualisierung im Browser angezeigt.(Vermute NetBeans Deployed das Projekt neu).

Wo liegt mein Problem?
Muss ich das Bild nicht über den Absoulten Pfad speichern? Wenn ja wie geht das?
Warum bekommt der Server nicht mit das eine neue Datei vorhanden ist?

Ich nutze Netbeans 6.5 mit GlassFishV2.
 
Applicationserver arbeiten selten im modus "hot replacement" oder "hot deployment". Dabei würden die Quellen der Anwendung neu eingelesen bei Änderungen.
Stattdessen werden Anwendungen als deployment packete behandelt, die so bleiben wie sie auf den server kommen.

Diverse IDEs verbergen die deploymentdetails, beim Abspeichern von Projekten wird dabei oft ein redeploy der Anwendung durchgeführt.

Eine gute Praxis ist, die statischen Teile einer Anwendung, wie Bilder, html-Seiten in einer gesonderten Webserverkomponente bereitzustellen.
Webserver sind meist im modus "hot replacement", da es quasi keine Nebenwirkungen durch neuladen von Ressourcen gibt, im Gegensatz zu den dynamischen Teilen der Anwendung.

Um innerhalb einer appserverumgebung zu bleiben und ohne hotreplacement zu arbeiten wäre eine Möglichkeit, das Bild nicht als File zu erzeugen und den Browser den File laden zu lassen, sondern ImageObjekte zur Laufzeit zu erzeugen, die dann nur für den aktuellen Request existieren.
 
Zurück