Variable Dateiablage beim Servlet und anderen Java Klassen

TheGreenDragon

Erfahrenes Mitglied
Hi,

hab da eine Frage zu den Servlets. Wenn ich Apache Tomcat aus dem bin Verzeichnis starte und mit
Code:
new File().getAbsolutePath();
den Pfad bestimme, bekomme ich das bin Verzeichnis.
Nun möchte ich aber Dateien hochladen und die dort speichern. Um feste Pfadangaben zu vermeiden kann ich im Servlet mittels
Code:
ServletContext sContext = super.getServletContext();
sContext.getContextPath() + "/speicherOrdner/";
gut dort hinnavigieren wo ich möchte.

ABER wenn ich nun von meinem Servlet ein anderes JavaObjekt erstelle, was kein Servlet ist funktioniert das nicht, auch irgendwie logisch, aber was kann ich da machen um dennoch flexibell zu bleiben?

Beste Grüße
 
Hi,

also ich hab mir nun folgendes überlegt, entweder ich reich den Pfad, den ich in meinem Servlet bestimmt habe bei jedem Methodenaufruf bzw. Konstruktor aufruf weiter oder defenier denn einmal Global in einer Klassenvariable.

zu 1) extrem umständlich
zu 2) eine extra Klasse schreiben eine Variable hält ist zwar nicht so aufwändig, aber vielleicht nicht ganz das Gelbe vom Ei. Des Weiteren weiß ich nicht ob die init() Methode meines Servlets einmal beim deployen meines Web-Services aufgerufen wird oder immer wieder wenn eine Anfrage kommt.
Wenn die init() Methode nur einmal aufgerufen wird, würde ich das sogar so machen mit der Klassenvariablen...

Was meint ihr dazu?
 

Neue Beiträge

Zurück