我在 war文件夹 中的GWT应用程序中有一个 variables.properties 文件。该文件包含一个jdbc字符串,用户名和密码,因此我不希望以任何方式在客户端看到它。
我的问题: variables.properties 在运行时放入 war文件夹中以某种方式集成到客户端代码中,或者它是否安全把它放在那里?
如果不是,我应该把它放在哪里? 我用这段代码读了这个文件:
variables = new Properties();
BufferedInputStream stream = new BufferedInputStream(new FileInputStream("variables.properties"));
variables.load(stream);
stream.close();
提前致谢!
答案 0 :(得分:1)
如果您不希望GWT客户端代码(或浏览Web浏览器)可以看到这些属性,则可以从类路径加载它们。这样他们最终会进入WEB-INF/classes
,这是不可见的。如果您使用的是Maven,则可以将您的属性文件存储在src/main/resources
中。否则,您可以将它们存储在Java源文件旁边,并确保在构建过程中复制它们。您可以使用以下命令从类路径加载它们:http://docs.oracle.com/javase/6/docs/api/java/lang/Class.html#getResourceAsStream(java.lang.String)