我有幾個迷你戰爭,這些戰爭是運行在Tomcat 6.0服務器上的更大應用程序的模塊。我這樣做,而不是把所有模塊放在一場戰爭中,因爲不同的安裝需要不同的模塊。我開始遇到一個障礙,我需要知道在服務器上安裝了哪些迷你戰爭。有沒有辦法在Tomcat 6.0服務器上獲取所有安裝的戰爭/上下文列表?獲取tomcat服務器上下文的列表
2
A
回答
3
我已經設法解決這個問題,因爲我將創建的「迷你戰爭」可以在tomcat的普通類加載器級別共享一個lib。訣竅是使用一個ApplicationListener
(位於公共類裝載器),其執行以下操作:
public class ApplicationListener implements ServletContextListener {
private static Map<String, ServletContext> contexts =
new HashMap<String,ServletContext>();
public void contextInitialized(ServletContextEvent event) {
ServletContext context = event.getServletContext();
if (context.getContextPath().length() > 0)
contexts.put(context.getContextPath(), context);
context.setAttribute("myapps", applications);
}
}
當Context
創建它註冊爲在靜態地圖一個ServletContext
。然後通過Context
變量myapps
在所有上下文之間共享此靜態映射。每當我需要訪問其他上下文時,我可以執行以下操作:
ServletContext namedcontext =
((ServletContext) ServletContext.getAttribute("myapps")).get("/namedapp");
希望它有助於某人。
1
從任何一個Web應用程序,這是不可能的。
您可以使用tomcat管理控制檯,如果已安裝,您可以在服務器上的/ manager/html上訪問該控制檯。這將列出所有已安裝的應用程序。
相關問題
- 1. 在JAX-WS中獲取Web服務上下文列表器?
- 2. 在我奇怪的Tomcat服務器上獲取RESTful Web服務?
- 3. 獲取服務器上的目錄中的文件列表iPhone
- 4. 獲取Web服務器上的文件列表
- 5. 獲取服務中的上下文
- 6. 啓動tomcat服務器獲取SEVERE:上下文初始化失敗
- 7. Tomcat服務器上的ClassNotFoundException
- 8. 服務的Tomcat從服務列表中
- 9. 獲取SQL服務器組中可用服務器的列表
- 10. 關於Eclipse上的tomcat服務器:如何使tomcat服務器重新加載項目上下文
- 11. 獲取所選服務器端下拉列表中的值Vb.Net
- 12. 獲取網絡SQL服務器列表
- 13. Groovy - 從Tomcat服務器讀取文件
- 14. 獲取的文件列表上的服務器使用ASP.NET挑選器
- 15. Powershell獲取服務器列表,並添加「服務器」屬性
- 16. Android,在tomcat服務器上傳文件
- 17. Eureka獲取服務列表
- 18. 獲取服務器列表的特定服務恢復選項
- 19. 獲取遠程服務器上IIS下運行的站點列表?
- 20. sharpsvn - 獲取Subversion服務器上所有項目的列表
- 21. 從服務器上的文件夾獲取文本數據名稱列表
- 22. 從OpenCpu服務器動態獲取下拉菜單列表
- 23. 如何獲取服務器名稱,端口和上下文
- 24. 獲取sharepoint列表中文件的服務器相對url
- 25. 從應用服務器獲取WebServer中的文件列表
- 26. 如何從android中的SFTP服務器獲取文件列表?
- 27. PowerShell的:獲取內容從大文件(服務器列表)
- 28. 無法從Android中的mongodb服務器獲取文檔列表
- 29. Tomcat服務器
- 30. Tomcat服務器
是不是context.setAttribute(「myapps」,contexts); ? – raspacorp 2015-05-14 14:51:05