我将我的restlet.Component部署在Tomcat中,在这里,我读了我的应用程序的配置文件:
this.properties.load(new FileInputStream("config/conf.properties));
我有一个java.io.FileNotFoundException
我的webapp结构是:
/mi-webapp
/config
conf.properties
/WEB-INF
/classes
/lib
web.xml
如何在restlet中获得真正的路径?我读到ServletContext.getRealPath()
,但这是一个不好的做法,你怎么推荐?
答案 0 :(得分:2)
将配置目录移到WEB-INF/classes
中并改为使用此代码:
URL url = this.class.getClassLoader().getResource("config/conf.properties");
try {
this.properties.load(url.openStream());
} catch (IOException e) {
System.out.println("Couldn't open/load properties file");
}
这样您无论如何都会从类路径中加载文件,这不会导致任何安全漏洞。