# getServletContext.getRealPath("/") Problem



## BetaRR (23. Sep 2008)

Hallo,

mit getServletContext.getRealPath("/") möchte ich den relativen pfad zu meiner Anwendung ermitteln...
Auf dem Tomcat Server funktioniert alles wunderbar, bei BEA WebLogic Server bekomm ich "null" zurück!

Warum?
und kennt einer eine andere Möglichkeit?

Achso ich möchte mit meinem Servlet was in eine Datei schreiben...

Dankeschön


----------



## maki (23. Sep 2008)

http://www.java-forum.org/de/viewtopic.php?t=75102


----------



## BetaRR (23. Sep 2008)

Danke für deine Antwort...

also gut ich kann mein Pfad in der web.xml  mit <context-param> abspeichern. Wie muss dann der absolute Pfad heissen, wenn ich die datei im folgenden Verzeichnis abspeichern möchte:

/Servelt/WEB_INF/datei.txt


----------



## maki (23. Sep 2008)

Das ist ein sehr schlechter Ort um dynamisch Dateien abzulegen, in manchen App Server gibt es diesen so gar nicht auf der Platte, in anderen darf man darin gar nicht schreiben 

Wenn ich dich richtig verstehe, dann muss die Datei(en) in den Classpath?


----------



## Beta (23. Sep 2008)

hmm ich erklär dir jetzt mal mein problem genauer...

ich habe in /WEB-INF eine datei, in der ein Datum - des letzten Programmstarts - steht (manuell erstellt). Mein Servlet liest nun das datum mit "ServletContext.getRessorceAsStream("datei")" aus. Funktioniert wunderbar.
Anschließend soll das Servlet das aktuelle Datum in diese datei schreiben. Beim Tomcat server habe ich es mit "getServletContext.getRealPath("datei") geschaft, aber beim BEA WebLogicServer liefert diese Methode "null" zurück...

Jetzt such ich eine Erklärung dafür oder eine andere Möglichkeit...


----------



## maki (23. Sep 2008)

Die Erklärung ist eben, dass es den Pfad in machen Servern eben gar nicht gibt 

Schreib die Datei auf die Festplatte, zB. C:\laststart.txt
Den absoluten Pfad setzt du als Context Parameter in der web.xml, so kannst du ihn später aus dem Servlet als Datei lesen, vorrausgesetzt das BEA das erlaubt, ansonsten must du wahrscheinlich wieder mit Streams arbeiten, da java.io.File eben nicht unbedingt verwendet werden kann/darf aus einem App Server heraus, zumindest aus einer EJB.


----------



## Guest (23. Sep 2008)

OK Danke... Ich werds mal so versuchen...


----------

