Criei uma aplicação e tenho um arquivo .xml que uso para algumas configurações. Já está tudo funcionando mas eu gostaria de colocar este xml na pasta WEB-INF. Para meus testes eu coloquei no C:/ da máquina e indiquei da seguinte maneira:
file=newFile("C://Mail-config.xml");
Mas gostaria de colocar no WEB-INF da aplicação porque neste arquivo tem algumas informações como a senha do E-mail do usuário que envia. Só que eu não estou conseguindo ler o arquivo lá. Acho que não estou sabendo indicar o caminho. Alguém pode me ajudar?
Para pegar o caminho utilize o método getRealPath da interface ServletContext:
“Querida API”:
getRealPath
public java.lang.String getRealPath(java.lang.String path)
ReturnsaStringcontainingtherealpathforagivenvirtualpath.Forexample,thepath"/index.html"returnstheabsolutefilepathontheserver's filesystem would be served by a request for "http://host/contextPath/index.html", where contextPath is the context path of this ServletContext.The real path returned will be in a form appropriate to the computer and operating system on which the servlet container is running, including the proper path separators. This method returns null if the servlet container cannot translate the virtual path to a real path for any reason (such as when the content is being made available from a .war archive).Parameters: path - a String specifying a virtual pathReturns: a String specifying the real path, or null if the translation cannot be performed</blockquote>
É sempre bom ter a API em mãos para ajudar quando surgirem dúvidas desse tipo.