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");