Pfad

Status
Nicht offen für weitere Antworten.
F

Ferenjito

Gast
Hallo,

gibt es eine Möglichkeit, dynamisch den Pfad einer Web Application zu erkennen, ohne dass man sich innerhalb eines Servlets befindet, also ohne request.getContextPath(). Ich möchte in einer Klasse eine statische Initialisierung durchführen, die auf eine XML-Datei zugreift, die in der Verzeichniswurzel meiner WebApp liegt. Gibts da ne möglichkeit?

Thanks,
Ferenjito
 

meez

Top Contributor
?

Entweder bist du in eine Webapp oder nicht...
Und da führt kein Weg über den Container, bzw. getServletContext().getRealPath()
 
F

Ferenjito

Gast
Also, das soll so gehen

Code:
 Class myClass {

   public static Content myContent;
     static {
        myContent = initializiere(pfad)
    }

    public static doSomething() {
    }


 Class MyServlet extends HttpServlet (.....) {
  
     doGet(..) {
        myClass.doSomething();
        ......

     }
 }


Ich will also beim ersten Kontakt mit MyClass etwas initializieren, aber ich kann ja schlecht von dem statischen Code der Klasse auf den Servlet Kontext Pfad zugreifen, obwohl ich ja innerhalb der WebApp bin, oder?

Bin dankbar für Tips,

Ferenjito
 

meez

Top Contributor
Und wie wird myclass das erste mal aufgerufen?...Von einem Servlet...Das ist bei einer Webapp halt immer der Einstiegspunkt...
Zudem würd ich dir raten static sowie mehere Klassen unterschiedlicher Typen im gleichen File zu vermeiden...
 

Bleiglanz

Gesperrter Benutzer
in der static geht gar nichts, weil du dann keinen Zugriff auf den Servlet-Kontext hast

=> verwende die init Methode eines Servlets

zur Datei:


leg sie in WEB-INF

und mach

context.getRessourceAsStream(".../WEB-INF/diedatei.xml")

also relativen pfad verwenden
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben