URL веб-приложения собирается следующим образом:
ПРОТОКОЛ: // DOMAIN: PORT / КОНТЕКСТ / ИмяСтраницы
Решения для использования одного и того же приложения на двух разных адресах следующие:
Если вы хотите различаться только по протоколу (скажем, между http и https), просто укажите 2 соединителя в файле server.xml.
если вы хотите различаться по имени DOMAIN, то это решается на уровне DNS.
Если вы хотите различаться по имени контекста (имени веб-приложения), вы должны поставить перед apache (mod_proxy или mod_ajp), а затем создать правило перезаписи (mod_rewrite). скажем, переписать все с /a/*
и /b/*
до /c/*
Если вы хотите различаться по имени страницы, вам следует использовать сопоставления сервлетов.
Поместить apache перед tomcat через mod_proxy очень просто, в сети есть несколько ресурсов. Очень плохо было бы дублировать приложения (загружать все дважды).
Что касается вашего вопроса, я бы посоветовал повторить дублирование в server.xml.
<Context docBase="myapp" path="/address1" reloadable="true" />
<Context docBase="myapp" path="/address2" reloadable="true" />
Это убийца памяти, а также механизмов сессии, конкуренции и т. Д.