getDeploydir() Diretorio de Deploy

Sou iniciante em programação Web em JAVA e preciso criar um arquivo de configuração para configurar o sistema na qual estou desenvolvendo.
As configurações são bem basicas como:

  • URL de BD
  • user e senha de BD
  • configurações de servidores de e-mail
    entre outras …
    O meu problema é o seguinte, estou atualmente guardando esse arquivo XML de configuração no HOME do usuario.
    Mas acredito que uma solução mais ‘adequada’ seria guardar o arquivo na pasta de deploy do Sistema.
    Se fosse um sistema em java comum bastaria fazer um “new File(”./conf.xml")" mas o diretorio corrente da execução é o CATALINA_HOME/bin.
    Como posso fazer para buscar a pasta de Deploy do sistema tipo um getDeployDir() ?

Na classe ServletContext tem um metodo chamado getRealPath(), você passa um path relativo e ele te retorna o path real do sistema operacional, e eu recomendo que esse arquivo fique em WEB-INF, para que nao possa ser acessado dos clientes… se não, todo mundo vai ver suas configurações.

ex.:

Dentro de um serlvet:

[code]String pasta = getServletContext().getRealPath("/WEB-INF");

File arq = new File(pasta+File.separator+"conf.xml");[/code]

http://java.sun.com/products/servlet/2.3/javadoc/javax/servlet/ServletContext.html#getRealPath(java.lang.String)

Tche tentei fazer dessa forma que vc sugeriu, então fiz o seguinte:

Coloquei essa chamada de getServletContext() no construtor dos servlets
mas dai deu exception nullPointer quando chamo getServletContext().getRealPath("/WEB-INF");

Então tentei colocar os comando no metodo de processamento de requisição doGet(),
funcionou mas toda a vez que ocorrer uma requisição ele setará o arquivo de configuração.
Claro que tem como fazer umas “gambiarras” para ele nao fazer isso mas o codigo ficará um lixo.

Teria um exemplo mais aprofundado para me sugerir.

Muito obrigado…