# Tomcat-Projektverzeichnis



## thommy.s (8. Mrz 2010)

Hallöle,

hab' bei meinen Webprojekten, die auf tomcat laufen sollen, das Problem, dass das Basisverzeichnis nicht eingestellt ist, d.h. wenn nach bestimmten Dateien gesucht wird, findet er sie nicht. Geb' die Pfade immer relativ an. In der Eclipse kann man ja das Arbeitsverzeichnis mit angeben, was aber wenn das Projekt mal in die "freie Wildbahn" entlassen werden soll, also ohne Eclipse im Tomcat läuft. Konnte keine geeignete Methode finden, die das bestimmt. 
Kann mir bitte jemand auf die Sprünge helfen...? Hab' schon so einiges ausprobiert, aber bisher hat nichts so recht Erfolg gehabt

Grüße

Thomas


----------



## mvitz (9. Mrz 2010)

Nach welchen Dateien suchst du woher?

Aus: Java Code, JSPs, ...?
Was: Config Files, Bilder, ...?


----------



## Atze (9. Mrz 2010)

also dein anwendungsverzeichnis bekommst du im servlet mit


```
getServletContext().getContextPath()
```

falls du das meinst


----------



## thommy.s (9. Mrz 2010)

@mvitz

aus Java-Code (vorzugsweise Servlets) nach z.B. irgendwelchen Textdateien innerhalb des Projekts, in meinem Fall handelt es sich um eine einfache Passwort-Datei, gegen die geprüft wird, ob jemand zur Anmeldung berechtigt ist. Zugegeben aus der Steinzeit, funzt aber, soweit die datei gefunden wird.



@Atze


ja, dann bekomm' ich tatsächlich das Projektverzeichnis. Bau ich dann allerdings den Pfad zusammen, findet er die Datei trotzdem nicht. Ich vermute, dass er den absoluten Pfad braucht...??


----------



## Atze (9. Mrz 2010)

achso, ja dann:


```
getServletContext().getRealPath(<realtiver Pfad zur Datei>)
```


----------



## mvitz (9. Mrz 2010)

Wenn du die Datei nur lesend brauchst, könntest du Sie auch unter /WEB-INF/classes ablegen und anschließend per getClass().getClassloader().getResourceAsStream("pw.conf"); laden.


----------



## thommy.s (9. Mrz 2010)

@Atze

ja, datt klappt nu. Jetzt hab' ich nur noch das Problem, dass ich das Projekt aus Eclipse heraus (WTP) nicht mehr starten kann, weil die Pfade eben für die Solovorstellung vom Tomcat eingestellt sind. Kann aber auch sein, dass ich da noch was falsch mach'...


@mvitz

das geht leider nicht: was ich noch verschwiegen hatte, da werden auch noch XML-Files gelesen und geschrieben (für Konfigurationen innerhalb der Anwendung), deshalb brauch ich den Pfad


----------



## Atze (10. Mrz 2010)

wtp?
hm, eigentlich sollte das sowohl über eclipse als auch deployed im tomcat funzen. was ist denn dann genau das problem?


----------



## eolith421 (10. Mrz 2010)

Hallo!
Also ich habe einen xml File indem die Konfiguration für meine Anwendung gespeichert ist, sprich, DB Einstellungen usw. Ich habe das Problem mir dem Pfad so gelöst: Ich habe als Pfadangabe einfach den realtiven Pfad vom Tomcat root (Ordner in dem Tomat läuft) angegeben, lautet fast immer: webapps/meineAnwendung/WEB-INF/config.xml. Mit dieser Pfadangabe funktioniert das Lesen und Schreiben der Datei ohne Probleme. Ich weiß nicht ob es eine bessere Lösung gibt, ich kann nur sagen, dass diese funktioniert.

Liebe Grüße,
Florian


----------



## maki (10. Mrz 2010)

> ich kann nur sagen, dass diese funktioniert.


Tut sie nicht, deploye mal ein war, ändere die Config und starte den Server neu 
Dann ist deine Config wieder die alte.
In die WebApp selber schreibt man nicht!


----------



## eolith421 (10. Mrz 2010)

Hallo!
Also mein config liegt im WEB-INF Ordner der Anwendung, bei allen Servlet Projekten die ich kenne (Xwiki, olat, etc.) wird der config file auch dort drinnen abgelegt, bei mir wird auch nichts geändert wenn ich den Server neue starte. Wo legt man dann die config files ab?

Liebe Grüße, Florian


----------



## maki (10. Mrz 2010)

> Wo legt man dann die config files ab?


Ausserhalb der WebApp, oder in der web.xml.

Wenn du eine WebApp als WAR deployst, wird die komplette WebApp bei einem neustart wieder entpackt


----------



## thommy.s (10. Mrz 2010)

Ohh, da haben sich ja noch einige zu Wort gemeldet. Vielen Dank euch allen!!!!


@Atze

Funktioniert auch, ich hab' da wohl gestern Abend schon n bissel gepennt


----------



## Atze (11. Mrz 2010)

dann ist ja gut


----------

