获取当前动态 Web 项目的路径 JAVA
Getting the path to current dynamic web project JAVA
如何在我的应用程序已部署时访问 XML 文件?
我是 运行 一个具有多个 classes 和一个简单的 rest 服务的动态 Web 应用程序,但我没有任何实际的 servlet,因此无法访问 ServletContext,(据我所知)所以使用 getRealPath() 是行不通的。
一个例子:
我有一个连接到数据库的 class DBcon,但必须从位于 /xml/db/oracle-properties.xml
的 XML 文件加载属性
在普通的 Java 项目中,您可以简单地使用文件输入流,但它不适用于动态 Web 应用程序。
我怎样才能加载 xml 文件?
如果文件在类路径中,您可以通过如下方式将其作为输入流获取:
InputStream in = this.getClass().getResourceAsStream("xml/db/oracle-properties.xml");
我读了这篇文章明白了: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);
如何在我的应用程序已部署时访问 XML 文件?
我是 运行 一个具有多个 classes 和一个简单的 rest 服务的动态 Web 应用程序,但我没有任何实际的 servlet,因此无法访问 ServletContext,(据我所知)所以使用 getRealPath() 是行不通的。
一个例子: 我有一个连接到数据库的 class DBcon,但必须从位于 /xml/db/oracle-properties.xml
的 XML 文件加载属性在普通的 Java 项目中,您可以简单地使用文件输入流,但它不适用于动态 Web 应用程序。
我怎样才能加载 xml 文件?
如果文件在类路径中,您可以通过如下方式将其作为输入流获取:
InputStream in = this.getClass().getResourceAsStream("xml/db/oracle-properties.xml");
我读了这篇文章明白了: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);