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