JSP/Servlets: Wohin mit Upload-Dateien?

Joel

Legendäres Mitglied
Hallo,

Kurze Frage an die Java-Profis unter euch...

Hier ist meine Deployment-Struktur (Beispiel):

CODE
-> TOMCAT
   -> webapps
       -> MyBeerApp
            -> WEB_INF
                -> classes
                -> lib
                -> web.xml
            index.html
            upload.jsp
            -> pics



Angenommen ich will in upload.jsp nun die Bilder von den Usern uploaden lassen. Ist es dann okay, wenn die zum Beispiel unter MyBeerApp/pics landen?

Beim nächsten Deployment-Vorgang wird doch der Ordner gelöscht und neu erstellt -> und die heraufgeladenen Bilder damit ebenfalls.

Nun, wohin sollen die heraufgeladenen Bilder der Benutzer kommen? Gibts da ein Standard-Vorgehen oder so?

Greets,
Joel
 
Hallo madox

Ein Standardvorgehen kenne ich nicht, aber ich würde es auf jeden Fall nicht unter webapps ablegen. Die Idee ist ja die, dass Du jederzeit ein neues .war deployen kannst, der Inhalt des MyBeerApp-Verzeichnisses wird dann komplett ersetzt.

Alle Dateien, die Du nicht in das .war-File packst, sollten in einem anderen Verzeichnis liegen (z.B. TOMCAT/app-data).

Gruss
Sepp
 
Hallo Sepp,

Danke für die Antwort.

QUOTE
Ein Standardvorgehen kenne ich nicht, aber ich würde es auf jeden Fall nicht unter webapps ablegen. Die Idee ist ja die, dass Du jederzeit ein neues .war deployen kannst, der Inhalt des MyBeerApp-Verzeichnisses wird dann komplett ersetzt.


Gut, aber wenn sie nicht in dem Ordner sind, kann ich nicht direkt vom Web drauf zugreiffen.

Mir würden zwei Lösungen in den Sinn kommen:
- Symlink erstellen (Weiss nicht ob das funktioniert)
- Ein Servlet soll mit java.io die Datei liefern. (Performance-Problem?)

Oder gibts da eine bessere Vorgehensweise?

Gruss,
Joel
 
In Produktivsystemen wird oft eine Kompination von Apache und Tomcat verwendet (Tomcat als Modul/Servelet-Engine). Von daher: Upload-Verzeichnis im document-root des Apache-Webserver. habe ich schon so gemacht.

Grüsse
yam
 
Zurück
Oben