我正在編寫利用其他Web服務(其他平臺)的Java Web服務,所以我必須在我的Java Web服務中調用這些API並獲得了url(靜態IP)。我正在考慮在屬性文件中保留包含IP的常見url部分。但是有沒有辦法在tomcat中保留這些屬性或URL部分?哪個更好的方式來存儲網址?在哪裏可以保存在Java Web服務中使用的url?
1
A
回答
2
我一直把這樣的常量定義到JNDI變量中。對於Tomcat來說,這意味着在context.xml中聲明它們通常這些常量在生產環境,測試環境和開發環境中是不同的,所以它們應該與服務器實例綁定,而不是與代碼綁定。另外,配置信息可能很敏感(用戶名和密碼等),所以如果暴露給任何可以訪問代碼庫的人,這是一個安全問題。
不幸的是,沒有關於J2EE容器如何設置和維護JNDI變量的標準。對於Tomcat,它們在context.xml中聲明。對於IBM Websphere,它們是管理控制檯設置。對於Oracle Weblogic,它們將進入需要編譯到.war文件中的weblogic.xml文件。
如果你足夠幸運,不必在Weblogic上部署,JNDI就非常棒。您的.war可以部署到任何環境,並將爲該服務器實例選擇正確的設置。
如果需要部署到Weblogic,你有以下幾種選擇:
- 使用屬性在文件系統上的「衆所周知」的文件位置由@Thilo
- 的建議有你部署腳本將打開.war文件並將xml定義文件替換爲適用於目標環境的文件。
請注意,像數據庫連接這樣的資源有些更加標準化。所有J2EE容器都允許您通過管理控制檯設置數據源,或者通過編輯context.xml來設置數據源。您的代碼只需要知道JNDI名稱,而不需要知道數據庫連接的詳細信息。
相關問題
- 1. 我在哪裏可以找到Web服務的端點URL?
- 2. 我在哪裏可以保存在Java代碼中使用
- 3. 我可以在哪裏存儲我的網絡服務器URL?
- 4. 我在哪裏可以在Java Web應用程序中保存.swf文件?
- 5. 哪裏可以保存用戶文件?
- 6. 在哪裏存儲Web服務異常?
- 7. 哪裏可以保持Web服務的響應?
- 8. 我在哪裏可以保存NSUserDefaults
- 9. 保存由Web服務在Java中
- 10. 哪裏可以在REST Web服務器中導入mongo-2.10.1 jar
- 11. 我在哪裏可以存儲受保護的URL?
- 12. 我在哪裏可以在Web服務器上找到緩存的asp.net頁面?
- 13. JSON在哪裏存在?我在哪裏可以把它
- 14. Delphi 7 Web服務中的WSDL xml規範的URL在哪裏?
- 15. 在哪裏可以找到Nintex Workflow Web服務的文檔?
- 16. 在哪裏可以放置Axis2 Web服務的配置文件?
- 17. 在哪裏可以放置虛擬Web服務實現?
- 18. Prestashop - 在哪裏可以看到web服務API
- 19. 緩存在哪裏保存?
- 20. 哪裏可以保存Web應用程序的配置數據?
- 21. 哪裏可以找到Web服務Delpoyed BPM在WPS2 BPS服務器?
- 22. 我在哪裏可以獲得Web服務器或文件共享服務器?
- 23. 會話保存在哪裏?
- 24. 是否可以在Web服務器上保存用戶會話?
- 25. REST Web服務可以在那裏使用?
- 26. 我們可以在java中使用php web服務嗎?
- 27. 哪裏可以在應用程序iPhon/iphone中保存文件?
- 28. GoToMeeting和GoToWebinar API Web服務在哪裏?
- 29. 在哪裏發佈Web服務?
- 30. Web服務接口在哪裏?
你可以把它們放到ServletContext中。這樣可以使用Web應用程序容器的管理工具進行配置。但這些東西通常很麻煩。就個人而言,我會使用Typesafe Config,將所有默認值放入類路徑(在WAR文件中),並允許通過主機文件系統上衆所周知位置的文件覆蓋它們(如果在WAR發生後需要更改它已建成)。 – Thilo