java - Web 服务器属性加载

标签 java tomcat properties websphere

我们正在从 Websphere 服务器迁移到 Tomcat 服务器,但在使以前的属性文件正常工作时遇到了一些问题。 现在,属性文件存储在 WEB-INF/properties/example.properties 下 servlet 和 java 类在 src/com/java/Example.java

Websphere 下的属性文件使用如下方式引用:

ResourceBundle props = ResourceBundle.getBundle("properties.example", Locale.getDefault());

这在 Tomcat 下不起作用。它们是从常规 java 类引用的,而不是从 servlet 引用的,所以我不能直接使用 get getServletContext()。到目前为止,我能够让它工作的唯一方法是使用:

InputStream props = getServletContext().getResourceAsStream("/WEB-INF/properties/example.properties")

然后我可以将它从 servlet 传递给 java 类的构造函数并使用 this.prop = prop; 引用它 问题是,我有很多属性文件,它们都通过各种 Java 类,使得这种解决方案真的非常麻烦和不优雅,并且需要比我希望的更多的改变。

我会尽力澄清任何似乎不清楚的地方。提前致谢。

最佳答案

ResourceBundle 从类路径加载资源,而不是从 web 内容。该文件需要进入 /WEB-INF/classes/properties/example.properties 才能出现在类路径中并以这种方式访问​​。它在 Websphere 中的工作可能只是该服务器的许多奇怪(非标准)功能之一。

关于java - Web 服务器属性加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16904800/

相关文章:

java - Java中的赋值运算符解释

java - 测试 Lombok 生成的数据结构

java - Android + 自定义ListView

java - 在自己的maven插件中使用lambda "breaks"安装插件目标

c# - 如何通过反射获取字符串属性的值?

wpf - MVVM 中 View 模型的交互

web-services - 如何在 Tomcat 中查看所有有效的 URL?

eclipse - 在 Eclipse 中运行 JPA 项目

java - Java Runtime Environment 内存不足,无法在 Tomcat 中继续

java - Spring-如何使用PropertyPlaceholderConfigurer动态加载文件