【问题标题】: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


    【解决方案1】:

    这是我使用的解决方案,它在 servlet 上下文中成功运行:

    • 将属性文件移至projectRoot/WebContent/WEB-INF/classes/resources/dbprops.properties
    • 并用这个来称呼它:
      InputStream input = Thread.currentThread().getContextClassLoader().getResourceAsStream("resources/dbprop.prope‌​rties");

    如果您使用此解决方案,请注意斜线的位置。 这是我排除故障的绝佳资源:Where to place and how to read configuration resource files in servlet based application?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-19
      相关资源
      最近更新 更多