我们正在从 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 类进行路由,使得这种解决方案非常麻烦和不优雅,并且将需要比我希望我必须做的更多的改变。
我将尝试澄清任何似乎不清楚的事情。提前致谢。