Развертывание приложения в Tomcat Root
1. обзор
В этой быстрой статье мы обсудим развертывание веб-приложения в корне Tomcat.
2. Основы и терминология развертывания Tomcat
Во-первых, основы развертывания приложения в Tomcat можно найти в этом руководстве:How to Deploy a WAR File to Tomcat.
Проще говоря, веб-приложения помещаются в$CATALINA_HOME\webapps, где$CATALINA_HOME - это каталог установки Tomcat.
Контекстный путь относится к местоположению относительно адреса сервера, который представляет имя веб-приложения.
По умолчанию Tomcat получает его из имени развернутого war-файла. Итак, если мы развернем файлExampleApp.war, он будет доступен вhttp://localhost:8080/ExampleApp. I. e. контекстный путь -/ExampleApp.
Если теперь нам нужно, чтобы это приложение было доступно вhttp://localhost:8080/, у нас есть несколько вариантов, которые мы обсудим в следующих разделах.
Для более подробного объяснения концепции контекста Tomcat взгляните на официальныйTomcat documentation.
3. Развертывание приложения какROOT.war
Первый вариант очень прост:we just have to delete the default /ROOT/ folder in $CATALINA_HOME\webapps, rename our ExampleApp.war to ROOT.war, and deploy it.
Наше приложение теперь будет доступно наhttp://localhost:8080/.
4. Указание пути контекста вserver.xml
Второй вариант - установить контекстный путь приложения вserver.xml (который находится в$CATALINA_HOME\conf).
Для этого мы должны вставить в тег<Host> следующее:
Note: defining the context path manually has the side effect that the application is deployed twice by default: athttp://localhost:8080/ExampleApp/, а также athttp://localhost:8080/.
Чтобы предотвратить это, мы должны установитьautoDeploy=”false” иdeployOnStartup=”false” в теге<Host>:
Важно: этот параметр больше не рекомендуется, так как Tomcat 5: он делает конфигурации контекста более агрессивными, поскольку файлserver.xml не может быть перезагружен без перезапуска Tomcat.
5. Указание пути к контексту в XML-файле приложения
Чтобы избежать этой проблемы сserver.xml, у нас есть третий вариант: мы установим путь контекста в файле XML для конкретного приложения.
Следовательно, мы должны создатьROOT.xml в$CATALINA_HOME\conf\Catalina\localhost со следующим содержимым:
Два пункта здесь ничего не стоят.
Во-первых, нам не нужно указывать путь явно, как в предыдущем варианте - Tomcat извлекает его из имени нашегоROOT.xml.
И во-вторых, поскольку мы определяем наш контекст в файле, отличном отserver.xml, нашdocBase должен находиться за пределами$CATALINA_HOME\webApps.
6. Заключение
В этом руководстве мы обсудили различные варианты развертывания веб-приложения в корне Tomcat.