21
A
回答
16
对于WebApps,web.xml可用于存储应用程序设置。
除此之外,您可以使用Properties类读取和写入属性文件。
您可能还想看看Preferences类,该类用于读取和写入系统和用户首选项。这是一个抽象类,但您可以使用userNodeForPackage(ClassName.class)
和systemNodeForPackage(ClassName.class)
获取适当的对象。
2
简单的方法是简单地使用属性文件,例如myapp.properties,其中包含所有设置。它不是进行设置的非常先进的方式,但它足够,或者您可以拥有自己的基于XML的设置,或从数据库获取它们等。
9
为了把@使用Properties
类成例如代码的Powerlord的建议(1):
public class SomeClass {
public static void main(String[] args){
String dbUrl = "";
String dbLogin = "";
String dbPassword = "";
if (args.length<3) {
//If no inputs passed in, look for a configuration file
URL configFile = SomeClass.class.getClass().getResource("/Configuration.cnf");
try {
InputStream configFileStream = configFile.openStream();
Properties p = new Properties();
p.load(configFileStream);
configFileStream.close();
dbUrl = (String)p.get("dbUrl");
dbLogin = (String)p.get("dbUser");
dbPassword = (String)p.get("dbPassword");
} catch (Exception e) { //IO or NullPointer exceptions possible in block above
System.out.println("Useful message");
System.exit(1);
}
} else {
//Read required inputs from "args"
dbUrl = args[0];
dbLogin = args[1];
dbPassword = args[2];
}
//Input checking one three items here
//Real work here.
}
}
然后,在所述容器的所述根(例如,jar文件的顶部)放置一个文件Configuration.cnf
与以下内容:
#Comments describing the file
#more comments
dbUser=username
dbPassword=password
dbUrl=jdbc\:mysql\://servername/databasename
这种感觉并不完美(我很想听听改进),但不够好我目前的需求。
相关问题
- 1. callgrind相当于java?
- 2. Java相当于scala.collection.mutable.Map.getOrElseUpdate
- 3. Java相当于Buffer.BlockCopy
- 4. Pexpect相当于java?
- 5. Java相当于Curl
- 6. Java相当于pyftpdlib?
- 7. Java相当于warn_unused_result
- 8. Java等于()相当于PHP
- 9. .Net PixelFormat有Java相当于?
- 10. Java中的NSNotFound相当于
- 11. Java相当于C#DESCrypto
- 12. “卷曲-F” 相当于Java
- 13. 相当于Java的C#Rfc2898DerivedBytes
- 14. 的Java相当于__func__
- 15. Java相当于Python字典
- 16. 在JAVA中相当于cURL
- 17. 相当于C++的Java ByteBuffer?
- 18. Jython相当于Java代码
- 19. 在Java中相当于STXXL
- 20. Java相当于C#system.beep?
- 21. RSA_PKCS1_OAEP_PADDING相当于对Java
- 22. 在Java中相当于DataTable
- 23. Java相当于C#代码
- 24. C#相当于Java的Exception.printStackTrace()?
- 25. 任何Java相当于PhantomJS?
- 26. 的Java相当于WPF
- 27. 的Java ip2long相当于
- 28. PHP MD5相当于Java
- 29. Java相当于ASP.NET global.asax
- 30. 相当于ungetc在java中
您可以提供关于第一个选项的更多信息:“web.xml可用于存储应用程序设置”? 您是否建议将应用程序设置存储为`context-param`s? 还是别的? – theyuv 2016-04-27 10:49:00
您可以在web.xml中放入几种不同类型的参数,但我可能确实是指`context-param`。我不记得自那以来已有7.5年了。 – Powerlord 2016-04-28 22:43:49