获取当前动态Web项目JAVA的路径

时间:2015-01-21 12:51:27

标签: java xml eclipse servlets web-applications

如何在部署应用程序时访问XML文件?

我正在运行一个带有几个类和一个简单的休息服务的动态Web应用程序,但是我没有任何实际的servlet,所以访问ServletContext是不可能的,(据我所知)所以使用getRealPath()不行。

一个例子: 我有一个类DBcon连接到数据库,但必须从XML文件加载属性,这些文件位于/xml/db/oracle-properties.xml

在普通的Java项目中,您只需使用文件输入流,但它不适用于动态Web应用程序。

我怎样才能加载xml文件?

2 个答案:

答案 0 :(得分:3)

如果文件在类路径中,您可以将其作为输入流获取,如下所示:

InputStream in = this.getClass().getResourceAsStream("xml/db/oracle-properties.xml");

答案 1 :(得分:1)

我通过阅读:Where to place and how to read configuration resource files in servlet based application?

来理解

我已将xml文件放在WEB-INF / classes中,然后使用此代码加载它:

InputStream xmlFile = Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName);
    prop.loadFromXML(xmlFile);