Servlet + Arquivo de Propriedades

Dae galera… eu estou tendo problemas para localizar o meu arquivo de propriedades… ele está dizendo que o arquivo não pode ser encontrado… a estrutura do meu projeto é assim:

Projeto --database --data_base.properties --src --web --WEB-INF

Eu recupero e leio o arquivo assim:

[code]Properties properties = new Properties();
FileInputStream in = new FileInputStream("database" + System.getProperty("file.separator") + "data_base.properties");
properties.load( in );
in.close();

        strDriver = properties.getProperty("data_base.driver");
        strLogin = properties.getProperty("data_base.login");
        strSenha = properties.getProperty("data_base.senha");
        strDataBase = properties.getProperty("data_base.data_base");[/code]

Quando acesso esse arquivo chamando ela pelo minha classe Main que criei pra testes, ele funciona…, agora se chama o mesmo do meu Servlet, ele dá a mensagem de que o arquivo não pode ser encontrado…
Alguém sabe como eu faço??
Abraço!!

Galera… se eu passar o caminho completo desde a raiz… tipo…
C:/…, dae ele funciona… !
Deve ter um jeito de não ter que passar o caminho completo…

Ola,

Vc pode usar o ServletContext, mas para isto garanta que o arquivo estará dentro do contexto do seu webapp, vamos supor que a estrutura que ficará é assim: my_webapp --WEB-INF --resources --my_file.properties .. .. .. Considerando que é a estrutura que será montada no deploy, então vc consegue acessar assim, de dentro de um servlet:

this.getServletContext().getResource("/WEB-INF/resources/my_file.properties");

Cara… mas não consegui usar dessa meneira… isso vai ser usado em conjunto com o Properties??
Se não, como eu consigo varrer esse arquivo usando dessa forma!!
Abraço!!

Ola,

tente pegar o inputStream então:

InputStream input = this.getServletContext().getResourceAsStream("/WEB-INF/resources/my_file.properties");

Cara… valeu…mas assim eu tinha tentando e ele retorna null…
Vou dar uma pesquisava pra ver o que fazer…
Valeu!!

Bah… galera… não consegui encontrar nada!!
Será que alguem ai tem alguma outra idéia??

Ola,

Vc poderia postar como está sua estrutura da aplicação após o deploy, pois esta estrutura que vc postou deve ser a montada por uma IDE…

Acho que seria isso…

Projeto -- build -- web -- META-INF -- WEB-INF -- classes -- br... -- database -- data_base.properties

Ola,

É isto que está confuso, vc tem que ver o arquivo .war que é gerado, qual IDE que vc tá usando???

Projeto --include(arquivos js e css) --META-INF --WEB-INF --classes --br... --database --data_base.properties --lib --web.xml --index.jsp e demais jsp's
Achei o .war. … heheh… e é NetBeans 5.5!

Ola,

Bom, estranho esta estrutura gerada, pois o diretorio “classes” que julgo ter os .class dos seus servlets, classes java, etc não está dentro de WEB-INF, mas deixa pra lá, a questão é, vc pode recuperar o seu .properties através do context, assim:

InputStream input = this.getServletContext().getResourceAsStream("/database/data_base.properties");