【问题标题】:Access files stored in a web content folder from an EJB从 EJB 访问存储在 Web 内容文件夹中的文件
【发布时间】:2013-09-26 21:55:34
【问题描述】:

我的 WebApplication 中有一些要读取的数据文件。

如何从 EJB 访问它们?

我尝试了类似的方法,但没有成功:

@Singleton
public class Server {

  public void loadData() {
    InputStream is =
      this.getClass().getClassLoader().
      getResourceAsStream("WebContent/WEB-INF/Data/Data.xml");
    //read from is...
  }

}

或者有没有更好的方法来处理只读数据文件?我不想使用数据库,因为我永远不必写入这些文件,而且我可以非常轻松地解析大型 XML 文件。

【问题讨论】:

标签: jakarta-ee glassfish ejb webcontent


【解决方案1】:

尝试:

public void loadData() {
  InputStream is = this.getClass().getClassLoader().getResourceAsStream("classpath:Data/Data.xml");
  //read from is...
}

更多详情:URL to load resources from the classpath in Java

【讨论】:

    【解决方案2】:

    经过一番试验,我终于让它工作了。 问题是路径错误。正确的是:

    InputStream is = this.getClass().getClassLoader().getResourceAsStream("../Data/Data.xml");
    

    (我不知道为什么)...

    InputStream is = this.getClass().getClassLoader().getResourceAsStream("classpath:Data/Data.xml");
    

    不适合我,但感谢您的帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-30
      • 2022-11-10
      • 2010-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-29
      相关资源
      最近更新 更多