Pegar informações de arquivo em uma aplicação web

2 respostas
A

Estou com um problema aqui:
Comecei uma aplicação criando as classes que acessam o banco de dados. Uma destas classes fazia uso de recursos que estavam em um arquivo xml. A disposição dos diretórios no Eclipse estava mais ou menos assim:

MeuProjeto/src/pacote1.xxx
MeuProjeto/src/pacote2.xxx
etc
MeuProjeto/resources/arquivo.xml

Executando uma daquelas classes e carregando o arquivo xml com Properties properties.loadFromXml (resources/arquivo.xml) eu conseguia pegar as informações do arquivo.

Só que agora criei um novo projeto no Eclipse para rodar no Tomcat e importei as classes criadas anteriormente. Basicamente este projeto tem JSPs que usam aquelas classes de acesso ao banco. Só que não estou conseguindo mais carregar o arquivo XML, porque ele não é localizado.

Para testar fiz com que aquela classe criasse um arquivo:

File f = new File("arquivo.txt");
f.createNewFile()

e notei que o arquivo está sendo criado no diretorio /home/alex e não no diretório onde estão as classes da minha aplicação.

Então gostaria de saber como eu posso fazer com que a aplicação carregue aquele arquivo XML, sem que eu tenha que colocar ele no meu diretório de usuário?

obrigado.

[/code]

2 Respostas

J

Use o metodo getRealPath() da classe ServletContext:

ex.:

Dentro de um servlet:

String pasta = getServletContext().getRealPath("/resources"); File arq = new File(pasta+File.separator+"arquivo.xml");

A

Não tem outro jeito? pois as classes em questão estao na camada de negócio, sem acesso aos métodos do servlet.

Criado 19 de outubro de 2006
Ultima resposta 20 de out. de 2006
Respostas 2
Participantes 2