Я написал простой сервлет Hello World в Eclipse, содержащий следующее в методе doGet моего HelloWorldServlet.java.
PrintWriter writer = response.getWriter();
String hello = PropertyLoader.bundle.getProperty("hello");
writer.append(hello);
writer.flush();
PropertyLoader — это простой класс в том же пакете, что и сервлет, который делает следующее:
public class PropertyLoader {
public static final Properties bundle = new Properties();
static {
InputStream stream = null;
URL url = PropertyLoader.class.getResource("/helloSettings.properties");
stream = new FileInputStream(url.getFile());
bundle.load(stream);
}
}//End of class
Я поместил файл helloSettings.properties в папку /WebContent/WEB-IND/classes, содержащий следующую строку содержимого:
hello=Hello Settings World
Когда я добавляю Tomcat 6.0 в свой проект и запускаю его в eclipse, он успешно печатает
«Hello Settings World» в веб-браузере.
Однако, когда я экспортирую проект как военный файл и вручную помещаю его в .../Tomcat 6.0/webapps, я получаю в результате "null".
Это проблема с конфигурацией classpath/classloader? разрешения? любой из других файлов конфигурации? Я точно знаю, что файл helloSettings.properties находится в папке WEB-INF/classes.
Любая помощь?