Apache Tomcat

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 18:27, 16 июня 2018.
Apache Tomcat
Tomcat-logo.svg.png
Разработчики: Apache Software Foundation
Постоянный выпуск: 8.5.11 (16 января 2017
Операционная система: Кросс-платформенное
Платформа: Java Virtual Machine
Лицензия: Apache License 2.0
Веб-сайт tomcat.apache.org

Apache Tomcat - это контейнер, который позволяет вам использовать интернет приложения такие, как Java сервлеты и JSP (серверные страницы Java). Реализует спецификацию сервлетов и спецификацию JavaServer Pages (JSP) и JavaServer Faces (JSF). Написан на языке Java. Tomcat используется в качестве самостоятельного веб-сервера, в качестве сервера контента в сочетании с веб-сервером Apache HTTP Server, а также в качестве контейнера сервлетов в серверах приложений JBoss и GlassFish.

Разработка

Разработка и поддержка Tomcat осуществляется фондом Apache Software Foundation и добровольцами. Пользователи имеют свободный доступ к исходным кодам и бинарным файлам Tomcat согласно лицензии Apache License 2.0. Номера версий Tomcat начинаются с 3.0.x[Источник 1]

Компоненты

Начиная с Tomcat 4.x выпускается с Catalina (контейнер сервлетов), Coyote (HTTP-коннектор) и Jasper (JSP-движок).

Catalina — контейнер сервлетов Tomcat’а, который реализует спецификацию сервлетов Servlet API. Servlet API является основой для всех остальных технологий Java, касающихся Web и дает возможность динамически генерировать любой web-контент, используя любые библиотеки, доступные для Java. Архитектором Catalina являлся Craig McClanahan.

Coyote — компонент стека HTTP Tomcat’а, который поддерживает протокол HTTP 1.1 для веб-серверов или контейнера приложений. Coyote прослушивает входящие соединения на определённом TCP порту сервера, пересылает запросы в механизм Tomcat для обработки запросов и отправляет ответ назад запрашивающему клиенту.

Jasper — механизм JSP Tomcat’а. Tomcat 5.x использует Jasper 2, который является реализацией спецификации JavaServer Pages 2.0 Sun Microsystems. Jasper анализирует JSP-файлы, чтобы компилировать их в Java код, как сервлеты (которые могут быть обработаны с помощью Catalina). Во время выполнения, Jasper может автоматически обнаруживать изменения JSP-файла и перекомпилировать его. В Jasper 2, были добавлены важные особенности:

1) JSP библиотеки тегов объединения - Каждый тег разметки в файле JSP обрабатывается классом обработчика тегов.
2) Объекты класса обработчика тега может быть объединены и использованы повторно в целом JSP сервлете.
3) Фоновая JSP компиляция - в то время как происходит перекомпиляция измененного JSP Java-кода, старая версия все еще доступна для серверных запросов. Старый JSP сервлет удаляется только когда новый JSP сервлет закончил перекомпиляцию.
4) Компилятор Java JDT - Jasper 2 может использовать Eclipse, JDT (Средства разработки Java) компилятор Java вместо Apache Ant Ant и JAVAC.

Некоторые из свободных ресурсов и объединений Apache Tomcat включают Tomcatexpert.com (а SpringSource спонсорское сообщество разработчиков и операторов, которые работают с Apache Tomcat в крупномасштабных производственных средах) и Apache Tomcat Ресурсный центр MuleSoft (который имеет учебные руководства по установке, обновлению, Настройка, мониторинг, устранение неполадок и крепления различные версии Tomcat).[Источник 2]

Версии

Версия Последний релиз Особенности Дата
9.0 9.0.1(beta) Первый выпуск Apache Tomcat с поддержкой спецификаций Servlet 4.0, JSP 2.4 (TBD) 30.09.2017
8.5 8.5.23 Добавлена поддержка HTTP/2, OpenSSL для JSSE, виртуального хостинга TLS и JASPIC 1.1 01.10.2017
8.0 8.0.47 Первый выпуск Apache Tomcat с поддержкой спецификаций Servlet 3.1, JSP 2.3 и EL 3.0 03.10.2017
7.0 7.0.82 Первый выпуск Apache Tomcat с поддержкой спецификаций Servlet 3.0, JSP 2.2, EL 2.2 и WebSocket 03.10.2017
6.0 6.0.53 Первый выпуск Apache Tomcat с поддержкой спецификаций Servlet 2.5, JSP 2.1, и EL 2.1 07.04.2017
5.5 5.5.36 Предназначен для J2SE 5.0. Включение Eclipse JDT позволяет Tomcat запускаться без установки полного набора Java Development Kit 10.10.2012
5.0 5.0.30 Первый выпуск Apache Tomcat с поддержкой спецификаций Servlet 2.4, JSP 2.0 и EL 1.1 30.08.2004
4.1 4.1.40 Первый выпуск Apache Tomcat для поддержки спецификаций Servlet 2.3 и JSP 1.2 25.06.2009
3.0 3.3.2 Начальная версия. Слияние кода Web Server и ASF, а также версии Servlet 2.2 и JSP 1.1. 09.03.2004

Каталоги и файлы

/usr/share/tomcat/bin: содержит управляющие скрипты;
/etc/tomcat: конфигурационные файлы (server.xml, web.xml, context.xml, tomcat-users.xml);
/usr/share/java/tomcat: jar-файлы, используемые всеми расширениями Tomcat и веб-приложениями;
/var/log/tomcat: log-файлы;
/srv/tomcat/webapps: каталог, содержащий веб-приложения (сервлеты и JSP);
/var/cache/tomcat/work: рабочий каталог Tomcat, который используется, в первую очередь, при преобразовании JSP-страниц в сервлеты;
/var/cache/tomcat/temp: временные файлы.

Для настройки сервера Tomcat используются следующие конфигурационные XML-файлы, размещенные в каталоге /usr/share/tomcat/conf/:

server.xml: Общие настройки сервера (порты, виртуальные хосты и проч.)
web.xml: Параметры, общие для ВСЕХ веб-приложений на текущем сервере. Настройки отдельных веб-приложений задаются в их собственных файлах /WEB-INF/web.xml (здесь можно провести аналогию с использованием файла .htaccess в Apache).
context.xml: Общие настройки управления контентом.
tomcat-users.xml: Список пользователей и групп (ролей).

Установка Apache Tomcat 8 (Текст)

Сначала нужно обновить систему.
$ sudo apt-get update
Затем установить Java Development Kit. Иначе код Java не будет выполняться.
$ sudo apt-get install default-jdk
Установка Tomcat версии 8 и других дополнений Tomcat.
$ sudo apt-get install tomcat8
$ sudo apt-get nstall tomcat8-docs tomcat8-examples tomcat8-admin
Запустить Tomcat8.
$ sudo systemctl start tomcat8
Проверить работоспособность Открыть браузер (IP-адрес сервера и порт 8080) http://ip_address:8080
На экране появится стандартная страница Tomcat
Default page1.png
Для создание учетной записи необходимо открыть файл
$ sudo nano /var/lib/tomcat8/conf/tomcat-users.xml
И добавить в него
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="Придумать имя" password="Придумать пароль" roles="manager-gui,admin-gui"/>
Сохранить файл

Источники

  1. Apache Tomcat // Ubuntu [2018]. Дата изменения: 10.12.2015. URL: https://help.ubuntu.com/lts/serverguide/tomcat.html (Дата обращения: 05.06.2018).
  2. Apache Tomcat // Википедия [2002–2018]. Дата изменения: 09.01.2017. URL: https://ru.wikipedia.org/wiki/Apache_Tomcat (дата обращения: 05.06.2018)