1

我在 tomcat 上的 WebApp 中使用第三方库。

问题是该第三方库的一个类需要使用 XML 文件进行初始化

LibraryClass lb = new LibraryClass("file path.xml");

那么我应该将文件放在tomcat目录中的什么位置以便能够从webapp内部访问它们?

(请注意,该类需要 aString作为绝对路径,而不是 aFileStream示例)

4

3 回答 3

1

如果您不希望该文件可下载,请将其放置在 Java 源目录中的某个位置使其成为资源,然后将其复制到 WEB-INF/classes 中。然后使用ServletRequest.getRealPath("/WEB-INF/classes/...")将相对路径转为绝对路径。

于 2012-06-06T05:18:14.923 回答
1

您可以将它们保存在 WEB-INF/classes 文件夹下。您可以在此处查看有关此内容的完整讨论: Where to place configuration properties files in a JSP/Servlet web application?

于 2012-06-06T05:20:04.877 回答
0

与其他答案一样,我同意这些文件的最佳位置是在您的war捆绑包中。与其他答案不同,我建议将文件放入,WEB-INF/classes因为该目录用于文件,而不是 XML 文件。

如果path.xml位于战争的根目录中,那么您可以通过以下方式访问它:

String servletDirectoryPath = this.getServletConfig().getServletContext().getRealPath("");
String xmlConfigurationFileName = "path.xml";
File xmlConfigurationFile = new File(servletDirectoryPath, xmlConfigurationFileName);
initializeThirdPartyLibrary(xmlConfigurationFile);
于 2012-06-06T05:24:47.210 回答