Generierte Dateien im Servlet und Pfade

Status
Nicht offen für weitere Antworten.
D

DarkGuardian

Gast
Hallo zusammen

Ich habe ein Servlet, welches mir u.a. Dateien generiert. Diese Dateien soll man über den Browser gespeichert werden können. Dabei habe ich das Problem, dass ich nicht weiß, wo ich diese Dateien am besten ablegen soll.

ich habe versucht, über relative Pfade diese in einem Verzeichnis parallel zu META-INF abzulegen. Das hatte wenig erfolg, so dass ich den Pfad in der web.xml als init-Parameter abgelegt habe. Dadurch klappt das Ablegen der Dateien. Ist denn mein Zielordner dafür sinnvoll gewählt?

In der HTML-Seite habe ich nun für die Datei einen Link angelegt, über den der Benutzer diese speichern können soll. Dabei weiß ich nun nicht, wie ich die Datei über den Link adressieren soll. Denn als Link etwas vergleichbares wie bei Bildern ( /pics/ok.bmp) zu nehmen, klappt hierbei nicht und es gibt eine 404-Fehlermeldung.

Kann mir jemand erklären, wo ich meine generierten Dateien am besten ablegen soll und wie ich diese dann entsprechend adressiere?
 
M

maki

Gast
Was ist denn die "Lebenszeit" deiner generierten Dateien?
Für temporöre Dateien gibt es laut Servlet SPec einen eigenen Ordner, wird regelmässig gelscöht.

Falls die Dateien dauerhaft bestehen sollen, müssen sie unbedingt ausserhalb der Webanwendung gespeichert werden!
Den Pfad dazu kannst du zB. in den init-parametern oder in den context-parametern in der web.xml ablegen.
 
D

DarkGuardian

Gast
Hmm, über die Lebenszeit habe ich mir bisher keine großen Gedanken gemacht. Das Servlet läuft in einem abgeschlossenen Bereich und da der Server nur bei Bedarf gestartet wird, werde ich wohl im Init das Verzeichnis leer machen. Es handelt sich somit nicht um dauerhafte Dateien. Wann werden denn diese temporären Ordner gelöscht? Vielleicht kann ich dann auch sowas nutzen.

Wenn ich die Dateien außerhalb der Webanwendung speichere, wie kann ich dann diese entsprechen adressieren. Muss ich dazu einfach beim Apache eine Weiterleitung der URL auf dieses Verzeichnis konfigurieren? Da bin ich mir bisher nämlich unsicher. Meine aktuellen Links landen nicht in meinem Servlet (sollen sie ja auch nicht), so dass der Zugriff dann doch über den Webserver gesteuert werden muss, oder?
 
M

maki

Gast
Wenn die Dateien ausserhalb der Webapp leigen nimmst du ein sog. Stream Servlet, Code gibt es haufenweise im Netz.

Wenn die Dateien nur temporär sind, reicht so etwas in der Art:
Code:
File tmpdir=(File)context.getAttribute("javax.servlet.context.tempdir");
 
D

DarkGuardian

Gast
Danke für die Hilfe

Ich werde damit mal etwas rumspielen. Mal sehen, ob ich meine Vorstellung damit umsetzen kann. Ansonsten melde ich mich hier wieder.
 
D

DarkGuardian

Gast
Eine kurze Frage noch.

In meinem aktuellen Test erzeuge ich die Datei report64.rep im temporären Verzeichnis. Wie muss denn nun der Link aussehen, damit diese Datei über einen Browser gespeichert werden kann?
 
M

maki

Gast
Das tempdir Verzeichnis kennst du ja bereits, den Dateinamen vergibst du selber, mit einem Stream Servlet schickst du das ganze an den User.
 
D

DarkGuardian

Gast
Achso, ich hatte das so verstanden, dass ich ein StreamServlet nur bei nicht temporären Dateien benötige. Na dann werde ich mir das mal genauer ansehen.

Vielen Dank noch mal
 
D

DarkGuardian

Gast
Vielen Dank nochmal

Jetzt klappt das alles so, wie ich mir das vorgestellt habe. Die Dateien liegen in einem temporären Verzeichnis und über ein ServletOutputStream wird die Datei an den Browser gesendet.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Rudolf Servlet Zur Laufzeit generierte Datei zum Herunterladen anbieten Web Tier 2
M Generierte Datei an Browser senden Web Tier 8
D Servlet Auf Dateien im .war zugreifen Web Tier 4
W Servlet SPEICHERN UNTER-Dialog für mehrere Dateien Web Tier 4
O JSF Zugriff auf entfernte Dateien Web Tier 11
K Wicket: Pfad zu HTML Dateien ändern/erweitern Web Tier 2
M Von Webanwendung in Dateien schreiben Web Tier 4
M Dateien im Verzeichnis meines Webprojektes speichern Web Tier 4
M Dateien zwischen Web-Applications austauschen Web Tier 3
K JSF Seite mit Dateien der Endung *.jsf Web Tier 4
E Java Servlet doPost request, Mehrere Parameter mit demselben Namen aus Tabellenzeilen Web Tier 2
R servlet-mapping führt zu 404-Fehlern Web Tier 0
B Servlet mit TomCat9 Web Tier 0
A redirect mit servlet-mapping in web.xml Web Tier 4
J Wie Mouse Event in Servlet einbinden? Web Tier 1
D JSF Servlet Mapping Web Tier 3
J Session Servlet - JavaScript Web Tier 6
D Servlet 1 Servlet für alles - Wie Cookies per Ajax? Web Tier 1
S Problem mit Checkboxen im Servlet erkennen Web Tier 3
Todesbote Servlet MVC Design Pattern Web Tier 1
A Anfänger-Frage Servlet/Applet/JSP Web Tier 0
Shams Allgemeine Verständnisfrage zum Thema Servlet (in Vaadin) Web Tier 2
H File Output Servlet Web Tier 6
I vTiger Astersik Connector: NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet Web Tier 0
OnDemand Servlet oder JSP Web Tier 12
H Servlet/JSP und OSGI Web Tier 2
L Servlet Datenbank Web Tier 0
D Java EE Servlet login Problem Web Tier 1
A Faces Context nicht mehr erreichbar nach Servlet Aufruf Web Tier 1
S Java Bean und Java Servlet Web Tier 2
D Servlet Servlet Weiterleitung static html Web Tier 5
G GWT 404 - Servlet nicht gefunden Web Tier 6
H Applet wirft AccessControlException bei File von Servlet Web Tier 3
H Servlet lässt sich nicht deployen Web Tier 7
C Kommunkation Servlets/Browseraufruf Servlet Web Tier 4
F.S.WhiTeY Servlet Servlet wird nicht angesprochen Web Tier 3
J Servlet Zugriff Servlet Web Tier 11
A JSON von JavaScript an Servlet Web Tier 9
K Servlet + JSP: JSP-Seite ein Array/ArrayList überliefern vom Controller-Servlet Web Tier 8
0 Servlet.Properties Web Tier 3
P Servlet Wo gibt es das javax.servlet.Servlet? Web Tier 2
H Servlet Servlet nimmt HTTP-GET mit Parameter entgegen Web Tier 2
5 Bild Pfad Servlet Web Tier 2
D Datenbankzugriff im Servlet Web Tier 5
H Servlet Apache Geronimo: Servlet nicht erreichbar Web Tier 2
S Ich brauche Buchempfehlung über JSP und Servlet Web Tier 2
A Parameterübergabe an Servlet und Aufruf von Servlets per Java Code Web Tier 7
S Auswahl eine Zeile von einer HTML Tabelle im Servlet Web Tier 4
K Servlet URL Mapping Web Tier 3
S ClassPath für Servlet Web Tier 3
reibi Servlet Logging - Standard Servlet Web Tier 5
K Portlet, Servlet doGet und doPost Web Tier 4
reibi Servlet Alleinlaufendes Servlet bauen Web Tier 6
P Servlet wird nicht gefunden - HTTP Error 503 Web Tier 7
lukas24680 Servlet pro Request Web Tier 2
C Pageing mit JSp&Servlet Web Tier 5
D JSP JSP integriert ein Servlet... Wie? Web Tier 7
I Servlet vor Browser URL-Direktzugriff schützen Web Tier 3
N Servlet ausführen Web Tier 26
B statische Html Seite als response erhalten (Servlet) Web Tier 3
A javax/servlet/jsp/jstl/core/Config Web Tier 1
F Servlet mapping ;-) Web Tier 3
H Servlet Mapping mit JSF Web Tier 8
B (JSP)+(Struts2)+(Servlet) Konfiguration web.xml Web Tier 2
W MVC mit Bean, JSP und Servlet Web Tier 6
T Button im Servlet - Werte übergeben Web Tier 2
J werte per post an servlet übergeben und auswerten Web Tier 3
ruutaiokwu HttpServletRequest-instanz in servlet und JSP unterschiedlich? Web Tier 5
T Bild durch anderes Bild ersetzen mit Servlet Web Tier 3
E Mein erstes Servlet Web Tier 8
S Servlet automatisch aufrufen Web Tier 2
J Kommunikation zwischen Servlet und EJB Web Tier 6
C Image in Servlet Web Tier 2
S Servlet File Upload (API oder JSPSmart download) Web Tier 4
N API Nutzung SERVLET Web Tier 12
J Memory Leak in Servlet nach längere Laufzeit Web Tier 6
ruutaiokwu template engine gesucht ohne abhängigkeit zum servlet container Web Tier 2
G Servlet Ausgabe richtig benutzen Web Tier 4
W Servlet auf sich selbst verweisen lassen (Anfängerfrage) Web Tier 6
M Servlet Ausführungsfehler Web Tier 4
D Servlet alle 6h ausführen Web Tier 5
M Servlet & JSP Organisation Web Tier 2
J seltsames Auslastungsproblem bei Servlet Web Tier 7
ruutaiokwu JSF - läuft ausserhalb des servlet-containers? Web Tier 5
R Direkten Servlet-Aufruf verhindern (JSP) Web Tier 3
K Formularweiterleitung an Servlet Web Tier 5
N Servlet: Problem mit getParameterValues Web Tier 4
J Dateiupload- Servlet Web Tier 14
H Probleme beim Aufrufen von Java- oder Servlet-Methoden aus Javascript Web Tier 2
G Kommunikation Servlet + Applikation Web Tier 4
megachucky Welche Servlet-Version benötigt GWT 2.0? Web Tier 13
X Servlet Select box Web Tier 6
S Java Servlet Content Type Web Tier 3
E Servlet zum speichern einer Datei in einer Datenbank Web Tier 3
M Servlet neuladen Web Tier 2
H Wie wurde ein Servlet aufgerufen Web Tier 2
J Servlet soll XML ausgeben und Javascript soll dieses einlesen Web Tier 3
H servlet fehlermeldung Web Tier 3
W JSP/Servlet Web Applikation programmierung Web Tier 9
J Faces response aus einem anderen Servlet heraus rendern Web Tier 4

Ähnliche Java Themen

Neue Themen


Oben