繁体   English   中英

在Java Web应用程序中存储和访问资源文件的最佳实践

[英]Best practices to store and access resource files in java web application

我有一堆文本,xml和其他文件(即资源),我需要使用java web app中的servlet访问。 例如,有一个xml文件,其中一部分由用户查询返回servlet。 我正在使用Tomcat。 存储这些文件并从java代码访问它们的最佳实践是什么? 1)我应该在哪里放置默认文件夹,是否需要将它们放入Web存档或其中一个Jars中? 2)如何从java代码访问文件? 如何设置它们的路径,以便它可以在任何环境中工作? PS我已经阅读了许多与此主题相关的帖子,其中大多数都建议将资源存储在jar中并使用java.lang.Class.getResourceAsStream(String)访问它们。 这看起来很奇怪,因为类和数据应该分开。

使用类加载器加载静态资源非常好。 这就是ResourceBundle为加载国际化属性文件所做的事情。

将它们与您的类文件一起放在WEB-INF/classes ,或者放在WEB-INF/lib中的jar中,然后使用ClassLoader加载它们,如您已经阅读的答案所示。

这并不禁止您将这些文件放在与项目中的Java源文件不同的目录中。 构建过程应该确保将它们放在运行时的适当位置。 Maven和Gradle约定是将源文件放在src/main/java ,将资源文件放在src/main/resources

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM