plik properties w projekcie tomcata

0

Witam,
Proszę o pomoc, jako że nie jestem wymiataczem w Javie.
Piszę aplikację w jsp i w jednym serwlecie chciałbym zaciągnąć parametry z pliku database.properties

Piszę więc taki kod (działa w aplikacji okienkowej):
Properties props = new Properties();
FileInputStream in = new FileInputStream("Resources/database.properties"); \ z ukośnikiem przed Resource też nie działa
props.load(in);
in.close();

Kiedy wywołuję stronę w przeglądarce wyrzuca mi wyjątek:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.io.FileNotFoundException: Resources\database.properties (System nie może odnaleźć określonej ścieżki)
java.io.FileInputStream.open(Native Method)
java.io.FileInputStream.<init>(FileInputStream.java:106)
java.io.FileInputStream.<init>(FileInputStream.java:66)
com.bosch.pl.wwp.isy.WebHelpDesk.ChooseArea.doGet(ChooseArea.java:25)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

Proszę o pomoc, gdzie mam umieścić katalog Resources, tak, żeby to zadziałało (szczerze powiem, nie chciałbym zmieniać kodu, gdyż z tego samego kodu korzysta moja aplikacja okienkowa i tam wszystko działa ok).

Proszę o podpowiedź gdzie w strukturze mam umieścić ten katalog, może go muszę gdzieś zdefiniować.
Używam Eclipsa, a struktura projektu wygląda tak:
MojProjekt
\Images
\Resources
\src
\WEB-INF
\classses
\lib
\src
\work

0

Jak bedziesz to robil w ten sposob, to plik musialby byc w standardowej sytuacji w katalogu bin Tomcata - bo stamtad sie go z reguly uruchamia;) Najlepiej zamiast new FileInputStream('Resources/database.properties') zrob getClass().getResourceAsStream('Resources/database.properties'), i wtedy plik umiesc relatywnie do WEB-INF/classes/Resources (a najlepiej olej katalog Resources). Jesli koniecznie zalezy Ci na ladowaniu przez system plikow, dodaj backslash na
poczatku (new FileInputStream('/Resources/database.properties')) i wtedy bedziesz mial sciezke bezwzgledna - plik musi znalezc sie np. na Windowsie w c:\Resources\database.properties. Ale nie polecam takiego rozwiazania, lepiej miec konfiguracje wew. wlasnej aplikacji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1