我的 tomcat servlet 遇到一些问题,该 servlet 由 amazon aws 在 elasticbeanstalk 上托管。
为了保护敏感数据,我将其保存在 web.xml 文件中,以便可以从 System.getProperties()
引用它。
其中一些数据在代码中通过 System.getProperties()
调用时返回 null - 而其他数据也通过 System.getProperties()
调用时返回正确的值.
我的web.xml文件如下:
<env-entry>
<env-entry-name>RDS_PASSWORD</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>blah</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>RDS_HOSTNAME</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>blah</env-entry-value>
</env-entry>
<env-entry>
<env-entry-name>DUMBDATA</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>blah</env-entry-value>
</env-entry>
我的代码如下:
w.println(System.getProperty("DUMBDATA"));
w.println(System.getProperty("RDS_HOSTNAME"));
虽然我尝试通过相同的方法访问数据并且它们以相同的方式设置,但 RDS_HOSTNAME
返回其正确的值,而 DUMBDATA
返回 null。
非常感谢您对这个问题的任何见解,
谢谢。
最佳答案
尝试类似的事情
Properties p = System.getProperties();
Enumeration keys = p.keys();
while (keys.hasMoreElements()) {
String key = (String)keys.nextElement();
String value = (String)p.get(key);
w.println(key + ": " + value);
}
找出支持哪些。
关于java - System.getProperties 对于某些值返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20459582/