【问题标题】:Why can I load properties in a Java application, but not a Java servlet? [duplicate]为什么我可以在 Java 应用程序中加载属性,但不能在 Java servlet 中加载? [复制]
【发布时间】:2016-10-01 13:21:19
【问题描述】:
(在搜索 StackExchange 之后)我无法弄清楚为什么我可以使用 main() 方法从简单的 Java class 加载我的属性文件,但不能从 Java servlet 加载。例外是java.io.FileNotFoundException: resources\dbprops.properties (The system cannot find the path specified)
有人可以帮我将属性文件加载到我的 servlet 中吗?
(假设这些类中还有其他方法和导入)
项目布局:
项目\
源\
乔尔\
小服务程序\
MyServlet.java
数据库\
JdbcTest.java
资源\
dbprops.properties
简单的java类joerle.jdbc.JdbcTest(加载属性):
公共类 JdbcTest {
private final String dbPropPath = "resources" + File.separator + "dbprops.properties";
私有属性道具;
公共 JdbcTest() {
尝试 {
道具 = 新属性();
props.load(new FileInputStream(dbPropPath));
//做东西
} 捕捉(FileNotFoundException e){
System.err.println("找不到属性文件");
e.printStackTrace();
} 捕捉(IOException e){
System.err.println("属性文件打不开");
e.printStackTrace();
}
}
公共静态无效主要(字符串[]参数){
新的 JdbcTest();
}
}
简单的java servlet类joerle.servlet.MyServlet(加载属性失败):
公共类 MyServlet 扩展 HttpServlet {
private final String dbPropPath = "resources" + File.separator + "dbprops.properties";
私有属性道具;
公共无效初始化(ServletConfig 配置)抛出 ServletException {
尝试 {
道具 = 新属性();
props.load(new FileInputStream(dbPropPath));
//做东西
} 捕捉(FileNotFoundException e){
System.err.println("找不到属性文件");
e.printStackTrace();
} 捕捉(IOException e){
System.err.println("属性文件打不开");
e.printStackTrace();
}
}
}
我已经试过了:
- Load properties file in servlet?
- Load properties file in Servlet/JSP
以及其他一些解决方案...
提前致谢!
【问题讨论】:
标签:
servlets
fileinputstream
properties-file