getResourceAsStream使用TagSupport返回null

时间:2013-07-24 12:07:51

标签: java jsp tags

我有一个扩展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] at   java.util.Properties $ LineReader.readLine(Properties.java:418)错误   java.util.Properties.load0上的[STDERR](Properties.java:337)   java.util.Properties.load(Properties.java:325)中的错误[STDERR]

1 个答案:

答案 0 :(得分:1)

为什么app.properties位于/WEB-INF?如果它是/WEB-INF/classes,您只需拨打getResourceAsStream("/app.properties")即可。这是因为getResourceAsStream(...)的参数是相对于类路径解析的。