Verzeichnisstruktur Tomcat6

Status
Nicht offen für weitere Antworten.

java_magnet

Mitglied
Hallo,

ich drehe gleich durch. Wir haben seit neuestem den Tomcat6 im Einsatz und dessen Verzeichnisstruktur ist der absolute Irsinn.

Hier mein Problem:
In meiner Anwendung sollen Dateien hochgeladen werden. Diese lege ich in einen Unterordner "uploadedfiles" ab, um dann wieder auf sie zu verlinken.
Meine Position im Baum finde ich per ServletConfig
Code:
ServletContext sc = config.getServletContext();  //config = ServletConfig aus "public void init(ServletConfig config)"
String config_path = sc.getRealPath("/");

Als Rückgabe bekomme ich in etwa so etwas:
C:\Program Files\Apache Software Foundation\Tomcat 6.0\temp\24-schwarzesBrett\

Erstmal ist alles gut, die Dateien werden ordentlich gespeichert und auch wieder ausgeliefert. Nach einem Reboot des Tomcats hagelt es dann Fehler. Die abgelegten Dateien sind nicht mehr erreichar. Tomcat hat ein neues Verzeichnis im temp Ordner für die Anwendung aufgemacht zB.
C:\Program Files\Apache Software Foundation\Tomcat 6.0\temp\22-schwarzesBrett\
ohne das alte Verzeichnis zu synchronisieren. Daher sind alle Uplodas verlohren :bloed:

Wenn ich versuche das temp Verzeichnis zu umgehen (ich mache ein bischen substring() und replace() Geraffel auf die Rückgabe von sc.getRealPath(), bevor ich die FileStreams initialisiere) und die Uploads direkt in
C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\schwarzesBrett\uploadedfiles
ablege, werden diese nicht ausgeliefert. Erst nach einem Reboot, werden die Dateien dann in das neu angelegte temp/XX-schwarzesBrett/ Verzeichnis kopiert.

Kann man dieses Verhalten irgendwie ausschalten?

Und ich hab keine andere Möglichkeit die Dateien abzulegen. Ich will Sie in diesem Web haben und hab keine Lust wegen 12 JPGs ein DMS anzudocken oder ähnliches.

Alternativ könnte ich ein IIS Web anlegen, in das ich alle Uploads speichere. Dessen Pfad müsste ich dann aber in irgendeine Konfigdatei auslagern.

Es ist sch****!
Wenn Tomcat schon so eine Versionierung mit diversen Verzeichnissen benötigt, sollten er das vor der Anwendung verstecken.

mfg
magnet
 

java_magnet

Mitglied
maki hat gesagt.:
>> Daher sind alle Uplodas verlohren

Es ist eine sehr schlechte Idee Dateien im WebApp Verzeichniss bzw. im Server abzulegen, sowas gehört da nicht hin, ausser sie sind temporärer Natur.

Das hab ich verstanden. Meine Frage war, ob man das Verhalten irgendwie konfigurieren kann?
Ich hab keine Lust unser DMS anzudocken, nur um die wenigen Dateien abzulegen.
 
M

maki

Gast
>> Meine Frage war, ob man das Verhalten irgendwie konfigurieren kann?

Natürlich nicht, würde sich mit der ServletSpec beissen, dieh dir mal den letzten Link an ;)
 

java_magnet

Mitglied
maki hat gesagt.:
>> Meine Frage war, ob man das Verhalten irgendwie konfigurieren kann?

Natürlich nicht, würde sich mit der ServletSpec beissen, dieh dir mal den letzten Link an ;)

Jup, wer lesen kann......

Irgendwann ist alles vorbei. Hab die Anwendung noch unter JRun3.0 entwickelt. Lief über Jahre stabil (Tomcat4 und 5) und nun mit Tomcat6 geht nichts mehr :(
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben