Если вы хотите обслуживать несколько корней под одним приложением, вы наверняка сможете. Использование сервлетов это будет выглядеть, как с помощью заранее 3.0 спецификации
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>com.test.servlets.Servlet1</servlet-class>
</servlet>
<servlet>
<servlet-name>servlet2</servlet-name>
<servlet-class>com.test.servlets.TemplateServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/api/servlet1/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>servlet2</servlet-name>
<url-pattern>/api/servlet1/*</url-pattern>
</servlet-mapping>
Так что, если ваш WAR называется TestApplication.war вы бы добраться до сервлетов, перейдя в
http://localhost:8080/TestApplication/api/servlet1/MorePath?also=variables&go=here
http://localhost:8080/TestApplication/api/servlet2/MorePath?also=variables&go=here
Вы можете поставить Фитлер в web.xml, который может либо перенаправлять с одного сервета на другой в зависимости от ваших бизнес-правил, либо вы можете прозрачно перенаправить запрос на сервлет через диспетчер сервлетов, который вы можете получить через request.getServletContext(). getNamedDispatcher ("servlet1")
Благодарим вас за лет ур ответ. –