hostprofi.ru
Подобрать хостинг
Термин·буква T

Tomcat

краткое определение

Apache Tomcat — открытый сервер приложений и сервлет-контейнер для Java-приложений. Реализует спецификации Java Servlet, JSP (JavaServer Pages) и WebSocket. Используется для деплоя Java-веб-приложений (.war-файлов) без полного Jakarta EE-сервера.

Apache Tomcat — открытый сервлет-контейнер и HTTP-сервер для Java, разрабатываемый Apache Software Foundation с 1999 года. Реализует спецификации Java EE (Jakarta EE) в части Servlet API, JSP и WebSocket. В отличие от полных Java EE-серверов (WildFly, WebLogic), Tomcat реализует только часть спецификации — без EJB, JMS, CDI.

Как работает

Tomcat принимает HTTP-запросы через встроенный коннектор (HTTP/1.1 или AJP) и передаёт их в соответствующий сервлет. Java-приложения упаковываются в WAR-файлы (Web Application Archive) и деплоируются в директорию webapps/. Tomcat распаковывает WAR, загружает classloader и запускает сервлеты.

Конфигурационные файлы: server.xml (коннекторы, порты, SSL), web.xml (глобальные настройки), context.xml (параметры приложения, пулы соединений с БД).

Типичная конфигурация: Tomcat за обратным прокси Nginx через AJP (порт 8009) или HTTP (порт 8080). Nginx обрабатывает статику и TLS, Tomcat — динамику.

Версии и совместимость

  • Tomcat 9.x — Servlet 4.0 / Java EE 8
  • Tomcat 10.x — Servlet 5.0 / Jakarta EE 9 (пакеты переименованы с javax.* на jakarta.*)
  • Tomcat 11.x — Servlet 6.0 / Jakarta EE 10

История

Tomcat создан Sun Microsystems и передан Apache Software Foundation в 1999 году. Первый релиз 3.0 — 1999 год. Версия 4.0 (2001) ввела Catalina — ядро контейнера. Версия 5.5 (2004) — официальная эталонная реализация Servlet 2.4/JSP 2.0. Версия 10.0 (2021) стала первой с Jakarta EE вместо Java EE.

Связь с хостингом

Для Java-приложений на VDS или выделенном сервере Tomcat — стандартный деплой. Устанавливается через пакетный менеджер (apt install tomcat10) или распаковкой архива. В продакшне рекомендуется запускать за Nginx-прокси и изолировать в контейнере (Docker). Для Kubernetes-деплоя используют официальный Docker-образ tomcat:10-jdk17.

Как работает Tomcat

Apache Tomcat — контейнер сервлетов для Java-приложений, реализующий Jakarta Servlet (ранее Java Servlet) и Jakarta Server Pages (JSP). Tomcat обрабатывает Java-запросы, а статику обычно отдаёт Nginx или Apache HTTP Server через reverse proxy. Типичная схема: Nginx -> Tomcat (порт 8080) через AJP-коннектор или HTTP. Tomcat использует thread pool: каждый запрос обрабатывается в отдельном потоке из пула (по умолчанию 200 потоков). Для высоконагруженных систем переходят на NIO2 или APR-коннектор. JVM под Tomcat нужна свежая: Tomcat 10+ требует Java 11+, Tomcat 11+ -- Java 17+.

История Tomcat

Tomcat создан Sun Microsystems в 1999 году. Передан в Apache Software Foundation в том же году. Tomcat 4.0 (2001) реализовал Servlet 2.3. Tomcat 5.x (2003--2009) долгое время был стандартом. Tomcat 8.5 и 9.0 остаются широко используемыми. Tomcat 10 (2021) перешёл с namespace javax.servlet на jakarta.servlet -- это breaking change для старых приложений. В альтернативных Java-серверах: Jetty, WildFly (JBoss), Payara. Хостинг Java часто строится именно на Tomcat как основном контейнере.

На что обращать внимание

Для хостинга Java-приложений на Tomcat критичен heap size JVM (-Xmx): при недостатке памяти приложение падает с OutOfMemoryError. Мониторинг через JMX или Prometheus JMX Exporter помогает отслеживать heap usage. Убедитесь, что хостер предоставляет VPS с достаточным объёмом RAM: Tomcat с одним Spring Boot приложением потребляет 256--512 МБ; несколько приложений -- 1--2 ГБ. VPS для Java требует минимум 2 ГБ RAM.

Другие термины