访问Tomcat中的相关文件

时间:2012-06-06 05:12:25

标签: java tomcat servlets

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

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

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

那么我应该把文件放在tomcat目录中以便能够从webapp中访问它们?

(请注意,该类要求绝对路径为String,而不是FileStream,例如)

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

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

String servletDirectoryPath = this.getServletConfig().getServletContext().getRealPath("");
String xmlConfigurationFileName = "path.xml";
File xmlConfigurationFile = new File(servletDirectoryPath, xmlConfigurationFileName);
initializeThirdPartyLibrary(xmlConfigurationFile);