【问题标题】:Path of files in Tomcat webapplication [duplicate]Tomcat Web应用程序中的文件路径[重复]
【发布时间】:2016-05-13 21:17:44
【问题描述】:

我想从我的 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 上的文件?

【问题讨论】:

    标签: java tomcat servlets


    【解决方案1】:

    试试这个

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

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

    【讨论】:

      【解决方案2】:

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

      这里是要走的路:你需要获得一个ServletContext(例如在Servlet里面)。

      然后使用

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

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

      Document doc = dBuilder.parse(in);
      

      【讨论】:

      • 如何获取 ServletContext ?我只有一个简单的 REST 服务类,它调用我的(服务)类来打开文件并获取婴儿车。
      • @JohnDizzle 将上下文注入您的服务类,例如对于 JAX-RS,请参阅 stackoverflow.com/questions/1814517/…
      猜你喜欢
      • 1970-01-01
      • 2013-07-16
      • 2018-07-18
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 2011-01-24
      相关资源
      最近更新 更多