Tomcat webapplication中的文件路径

时间:2016-02-04 10:06:58

标签: java tomcat servlets

我想从Tomcat服务器上的xml文件加载一些参数。我们说这就是文件夹结构:

 Tomcat
 |-webapps
   |-MyWebApp.war
   |-MyWebApp //(Source files)
      |-META-INF
      |-WEB-INF
         |-configFile.xml  

我尝试了几种不同的方法,比如

File inputfile = new File("/MyWebApp/WEB-INF/configFile.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(inputfile);

刚刚发送了filemissing exception ...

所以问题是:

我如何在Java代码中设置路径来引用Tomcat上的文件?

2 个答案:

答案 0 :(得分:1)

您应该避免在Web应用程序中使用文件。

以下是要走的路:您需要获得ServletContext(例如在Servlet内)。

然后使用

ServletContext context = ...
InputStream in = context.getResourceAsStream("/WEB-INF/configFile.xml");

打开InputStream到您的XML文件并将其传递给DocumentBuilder

Document doc = dBuilder.parse(in);

答案 1 :(得分:-1)

试试这个

File inputfile = new File("/WEB-INF/configFile.xml");

OR

File inputfile = new File("../WEB-INF/configFile.xml");