我在我的tomcat 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。
我很欣赏对此问题的任何见解,
感谢。
答案 0 :(得分:2)
尝试类似
的内容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);
}
找出支持哪些。