2012-08-16 61 views
5

我喜歡這樣的application.xml。將幾個上下文根映射到application.xml中的一個web-uri

<module> 
    <web> 
     <web-uri>services-inboxService.war</web-uri> 
     <context-root>/services/inboxService</context-root> 
    </web> 
    </module> 

我想不同的上下文根映射到一個網絡的URI。但也有約束和各模塊應該只包含一個網絡部分和每個網絡 - 只有一個上下文根部分。 有沒有其他辦法,除了複製這個名稱不同的戰爭文件?

回答

5

Yegoshin Maxim-我相信你必須明確在基於J2EE Web應用程序的URI概念:

<hostname:port/context-root/resource-path?parameters> 

現在,如果有人想使用一個不同的主機名+端口組合由同一送達他們應該使用大多數應用服務器(如Tomcat,WebSphere)支持的虛擬主機概念。

如果有人想使用不同的資源路徑映射到同一資源在Web應用程序,它是由在web.xml

現在,如果有人想使用一個不同的配置url-pattern的做上下文根用於應用程序的單個安裝,這是不可能的。即使你從類加載器的角度思考。上下文導致創建一個上下文類加載器,它是應用程序服務器類加載器的子代。對於一個Web應用程序,我們不能有多個上下文類加載器,否則無法解析資源/類引用。所以唯一的解決方案是在不同的上下文根下運行一個應用程序的多個實例。

相關問題