Сервлеты и Tomcat

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница опубликована в основном списке статей сайта
по адресу http://gis-lab.info/qa/tomcat.html


Краткое описание сервлетов и их использование в Tomcat

Введение

Сервлеты - это приложения, написанные на java (такие как GeoServer, GeoWebCache, GeoJazzy), и предназначенные для работы на сервере. Для их работы нужен так называемый "контейнер сервлетов". В дистрибутив GeoServer входит небольшой встраиваемый сервер Jetty, который совмещает в себе HTTP-сервер и контейнер сервлетов. Для первого знакомства его вполне достаточно. Но при промышленной эксплуатации сказываются отсутствие у него средств удаленного мониторинга и управления, установки и удаления приложений. В этой статье описывается работа с сервером Tomcat.

Установка Tomcat

Apache Tomcat это HTTP сервер с поддержкой технологий Java Servlet и JavaServer Pages (JSP). Дистрибутив для Windows называется Windows Service Installer. Установка проходит максимально просто и не требует задания особых параметров.

После завершения установки нужно запустить новую службу. Щелкаем правой кнопкой мыши по значку "Мой компьютер" и выбираем "Управление". Переходим в раздел "Службы и приложения > Службы" и находим "Apache Tomcat 6". Щелкаем правой кнопкой и выбираем "Пуск". После перезагрузки компьютера в системном трэе появится значек службы и вы сможете управлять приложением через него.

Щелкните для получения увеличенного изображения

Стандартно, сервер приписан к порту 8080. Страница управления: http://localhost:8080/.

Установка приложений

Установка приложений в контейнер сервлетов ничем не отличается в Windows, Linux, FreeBSD. Сервлет должен быть упакован в "Web Application aRchive" (файл с расширением "war"). Один и тот же файл работает на любой платформе.

Переходим на страницу "Application Manager" (http://localhost:8080/manager/html). В списке приведены все установленные приложения. Чтобы добавить новое, в разделе "WAR file to deploy" нажимаем "Обзор", выбираем WAR-файл. Нажимаем "Deploy". Приложение должно появиться в списке (учтите, что потребуется некоторое время для загрузки и распаковки, но Tomcat все это сделает самостоятельно).

Щелкните для получения увеличенного изображения

Теперь, с помощью кнопок "Start/Stop/Reload" можно останавливать и перезагружать отдельное приложение, а не весь сервер. Кнопка "Undeploy" служит для удаления приложений.

После установки приложения может потребоваться внести изменения в файлы конфигурации. В документации к программам указывается путь относительно каталога webapps и имени приложения. Для Windows путь выглядит так:

c:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\

Для FreeBSD:

/usr/local/apache-tomcat-6.0/webapps

Например, для задания параметра DATA_DIR в GeoServer нужно изменить файл WEB-INF/web.xml. Этот файл расположен:

...\webapps\geoserver\WEB-INF\web.xml

Заключение

Tomcat не единственный контейнер сервлетов. Есть еще и JBoss, GlassFish и многие другие. Принципы работы у всех схожие и для приложений нет разницы в каком контейнере они исполняются. Но на практике, бывают случаи несовместимости или нестабильности в работе. Поэтому обращайте внимание на рекомендации по выбору контейнера для конкретного приложения.

Для работы контейнера сервлетов, в свою очередь, требуется виртуальная машина Java. Она входит в набор Java Development Kit (JDK). Из-за лицензионных ограничений, наложенных разработчиком (Sun Microsystems, Inc.), появилось несколько различных реализаций JDK: Sun, IBM, Blackdown, OpenJDK и др. В случае с GeoServer подходят JDK только от Sun (предпочтительнее) и IBM. Начиная с версии 2.0 возможна работа с OpenJDK, но производительность сервера в этом случае существенно ниже.