2012-08-16 10 views
5

Mam taki plik application.xml.Mapuj kilka kontekstowych pierwiastków do jednej sieci-uri w application.xml

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

Chciałbym map różnych kontekstowa korzenie jeden web-uri. Ale istnieją ograniczenia, a każdy modułpowinna zawierać tylko jeden web punkt i każdy internecie - tylko jeden kontekst root sekcja. Czy jest jakiś sposób, z wyjątkiem kopiowania tego pliku wojennego o innej nazwie?

Odpowiedz

5

Yegoshin Maxim- wierzę, musi być jasne, o koncepcji URI w aplikacji internetowej Java EE oparta:

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

Teraz, jeśli ktoś chce używać różnych kombinacji hostname + portu ma być obsługiwana przez ten sam Zainstalowana aplikacja powinna korzystać z koncepcji hostingu wirtualnego obsługiwanego przez większość serwerów aplikacji, takich jak Tomcat, WebSphere.

Jeśli ktoś chce korzystać z zasobów inną ścieżkę do mapy do tego samego zasobu w aplikacji internetowej, że odbywa się to poprzez skonfigurowanie wzorzec URL w web.xml

Teraz, jeśli ktoś chce używać innego kontekst-root dla pojedynczej instalacji aplikacji, nie jest to możliwe. Nawet jeśli myślisz z punktu widzenia programu ładującego klasy. Kontekst prowadzi do utworzenia modułu ładującego klasy, który jest dzieckiem programu ładującego klasy serwera aplikacji. Nie możemy mieć więcej niż jednego kontekstowego modułu ładującego klasy dla jednej aplikacji internetowej, w przeciwnym razie niemożliwe jest rozwiązanie odniesień do zasobów/klas. Tak więc jedynym rozwiązaniem jest posiadanie wielu wystąpień aplikacji działających w różnych kontekstowych katalogach głównych.

Powiązane problemy