0

我有一个扩展 TagSupport 的类文件,在这里我想读取一个属性文件,但它不起作用。我认为 getResourceAsStream 正在返回 null。

我在 bith 系统上使用爆炸的战争文件。

代码:

公共类 MyTag 扩展 TagSupport {

  private int getUsers() {

  ServletContext servletContext = pageContext.getServletContext();

  InputStream in = pageContext.getServletContext().getResourceAsStream("/WEB-INF/app.properties");

  Properties properties = new Properties();
  properties.load(in);
  int users= Integer.parseInt(properties.getProperty("users"));

  return users;    }

}

此代码适用于我的电脑,但不适用于测试系统。我得到以下异常:

java.lang.NullPointerException 错误 [STDERR] 在 java.util.Properties$LineReader.readLine(Properties.java:418) 错误 [STDERR] 在 java.util.Properties.load0(Properties.java:337) 错误 [STDERR] 在java.util.Properties.load(Properties.java:325)

4

1 回答 1

1

你为什么app.properties居住在/WEB-INF?如果是这样/WEB-INF/classes,您可以简单地调用getResourceAsStream("/app.properties"). 这是因为 to 的参数getResourceAsStream(...)是相对于类路径解析的。

于 2013-07-24T12:13:54.560 回答