Yegoshin Maxim- credo è necessario essere chiari sul concetto URI in un'applicazione Web basata su Java EE:
<hostname:port/context-root/resource-path?parameters>
Ora, se qualcuno vuole usare una combinazione hostname + porta diversa per essere servito dalla stessa applicazioni installate, dovrebbero utilizzare il concetto di hosting virtuale supportato principalmente da server di app come Tomcat, WebSphere.
Se qualcuno vuole utilizzare una diversa risorsa-path per mappare la stessa risorsa in un'applicazione web, è fatto configurando un url-pattern in web.xml
Ora, se qualcuno vuole usare un diverso context-root per una singola installazione di un'applicazione, non è possibile. Anche se pensi dal punto di vista del classloader. Un contesto porta alla creazione di un classloader di contesto che è figlio del classloader del server delle applicazioni. Non possiamo avere più di un classloader di contesto per una app Web, altrimenti è impossibile risolvere i riferimenti a risorse/classi. Pertanto, l'unica soluzione consiste nell'avere più istanze di un'app in esecuzione in più root di contesto.