Если вы пытаетесь получить доступ к этому файлу из класса, поддерживающего сервлет, такого как ContextListener или другой прослушиватель жизненного цикла, вы можете использовать объект ServletContext для получения пути к ресурсу.
Эти три примерно эквивалентны. (Не путайте метод getResourceAsStream с тем, который используется классом ClassLoader
. Они ведут себя по-разному)
void myFunc(ServletContext context) {
//returns full path. Ex: C:\tomcat\5.5\webapps\myapp\web-inf\message.properties
String fullCanonicalPath = context.getRealPath("/WEB-INF/message.properties");
//Returns a URL to the file. Ex: file://c:/tomcat..../message.properties
URL urlToFile = context.getResource("/WEB-INF/message.properties");
//Returns an input stream. Like calling getResource().openStream();
InputStream inputStream = context.getResourceAsStream("/WEB-INF/message.properties");
//do something
}