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. Java相當於Curl
- 2. callgrind相當於java?
- 3. Java相當於Buffer.BlockCopy
- 4. Java相當於scala.collection.mutable.Map.getOrElseUpdate
- 5. Java相當於pyftpdlib?
- 6. Java等於()相當於PHP
- 7. '朋友'相當於Java?
- 8. 相當於Java Python的json.dumps
- 9. Java相當於.NET System.Net.ServicePointManager
- 10. 相當於ungetc在java中
- 11. C#相當於Java的Thread.setDaemon?
- 12. 相當於Java Convert.FromBase64String方法
- 13. 相當於Java的C#Action.BeginInvoke
- 14. python相當於java的OutputStream?
- 15. Java相當於C#代碼
- 16. Java相當於.NET的String.Format
- 17. 的Java相當於WPF
- 18. 相當於Java C#Array.Copy
- 19. 相當於Java的C#Rfc2898DerivedBytes
- 20. 「捲曲-F」 相當於Java
- 21. 在Java中相當於STXXL
- 22. 相當於Java Swing的QStackedWidget
- 23. java包相當於System.Data.Services.Client
- 24. JAVA相當於Javascript REGEX
- 25. Java相當於Delphi的DBCtrlGrid?
- 26. C#相當於Java的Exception.printStackTrace()?
- 27. Java相當於.NET的DateTime.Parse?
- 28. 在JAVA中相當於cURL
- 29. 相當於Java的Optional.orElse C#
- 30. Java相當於register int?
您可以提供關於第一個選項的更多信息:「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