Оригинальный автор(ы) | Джеймс Дункан Дэвидсон |
---|---|
Разработчик(и) | Фонд программного обеспечения Apache |
Первоначальный выпуск | 1999 ( 1999 ) |
Стабильный релиз | 10.1.34 [1] / 9 декабря 2024 г. |
Репозиторий | Репозиторий Tomcat |
Написано в | Ява |
Тип | Контейнер сервлетов HTTP веб-сервер |
Лицензия | Апач-2.0 |
Веб-сайт | tomcat.apache.org |
Apache Tomcat (сокращенно «Tomcat») — это бесплатная реализация с открытым исходным кодом технологий Jakarta Servlet, Jakarta Expression Language и WebSocket. Она предоставляет среду веб-сервера HTTP «чистого Java», в которой также может выполняться код Java. Таким образом, это сервер веб-приложений Java, хотя и не полноценный сервер приложений JEE.
Tomcat разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation и выпускается под лицензией Apache License 2.0.
Tomcat 4.x был выпущен с Catalina (контейнер сервлетов), Coyote (HTTP-коннектор) и Jasper ( движок JSP ).
Catalina — это контейнер сервлетов Tomcat . Catalina реализует спецификации Sun Microsystems для сервлетов и страниц JavaServer (JSP). В Tomcat элемент Realm представляет собой «базу данных» имен пользователей, паролей и ролей (аналогично группам Unix ), назначенных этим пользователям. Различные реализации Realm позволяют интегрировать Catalina в среды, где такая информация аутентификации уже создается и поддерживается, а затем использовать эту информацию для реализации управляемой контейнером безопасности, как описано в спецификации сервлетов. [2]
Coyote — это компонент Connector для Tomcat, который поддерживает протокол HTTP 1.1 и 2 в качестве веб-сервера. Это позволяет Catalina, номинально являющейся контейнером Java Servlet или JSP, также выступать в качестве простого веб-сервера, который обслуживает локальные файлы как документы HTTP. [3] Coyote прослушивает входящие соединения с сервером на определенном порту TCP и пересылает запрос в Tomcat Engine для обработки запроса и отправки ответа запрашивающему клиенту. Другой Coyote Connector, Coyote JK, прослушивает аналогично, но вместо этого пересылает свои запросы на другой веб-сервер, например Apache, используя протокол JK . [4] Обычно это обеспечивает лучшую производительность. [ необходима цитата ]
Jasper — это JSP-движок Tomcat. Jasper анализирует JSP- файлы, чтобы скомпилировать их в код Java как сервлеты (которые могут быть обработаны Catalina). Во время выполнения Jasper обнаруживает изменения в JSP-файлах и перекомпилирует их.
Начиная с версии 5, Tomcat использует Jasper 2, который является реализацией спецификации JSP 2.0 от Sun Microsystems. От Jasper к Jasper 2 были добавлены важные функции:
javac
.С выпуском Tomcat 7 были добавлены три новых компонента:
Этот компонент был добавлен для управления большими приложениями. Он используется для балансировки нагрузки , которая может быть достигнута с помощью многих методов. Поддержка кластеризации в настоящее время требует JDK версии 1.5 или выше.
Была добавлена функция высокой доступности для упрощения планирования обновлений системы (например, новых релизов, запросов на изменение) без влияния на живую среду. Это делается путем отправки запросов живого трафика на временный сервер на другом порту, пока основной сервер обновляется на основном порту. Это очень полезно при обработке пользовательских запросов на веб-приложениях с высоким трафиком. [5]
Tomcat 9.x реализует спецификации Servlet 4.0 и JSP 2.3. [6]
Tomcat 10.1.x реализует спецификации Servlet 6.0 и JSP 3.1. [6]
Tomcat 11.x реализует спецификации Servlet 6.1 и JSP 4.0. [6]
Tomcat начинался как реализация эталонного сервлета Джеймсом Дунканом Дэвидсоном , архитектором программного обеспечения в Sun Microsystems. Позже он помог сделать проект открытым исходным кодом и сыграл ключевую роль в его пожертвовании от Sun Microsystems в Apache Software Foundation. [7] Инструмент автоматизации сборки программного обеспечения Apache Ant был разработан как побочный эффект создания Tomcat как проекта с открытым исходным кодом.
Дэвидсон изначально надеялся, что проект станет проектом с открытым исходным кодом, и поскольку многие проекты с открытым исходным кодом имели книги O'Reilly, связанные с ними, на обложке которых было животное, он хотел назвать проект в честь животного. Он придумал кота Тома , поскольку считал, что животное представляет собой нечто, способное постоять за себя. Хотя кот уже использовался для другого издания O'Reilly, [8] его желание увидеть животное на обложке в конечном итоге сбылось, когда O'Reilly опубликовали свою книгу Tomcat со снежным барсом на обложке в 2003 году. [9]
Серия [10] | Объявлен стабильным | Описание | Последний релиз | Последняя дата выпуска | Конец жизни [11] |
---|---|---|---|---|---|
Старая версия, больше не поддерживается:2.0 | 1998 | Tomcat был создан в ноябре 1998 года [12] как эталонная реализация сервлета Джеймсом Дунканом Дэвидсоном , архитектором программного обеспечения в Sun Microsystems. | ? | ? | ? |
Старая версия, больше не поддерживается:3.0 | 1999 | Первоначальный выпуск. Объединение пожертвованного кода Sun Java Web Server и спецификаций ASF и Implements Servlet 2.2 и JSP 1.1. | 3.3.2 | 2004-03-09 | ? |
Старая версия, больше не поддерживается:4.1 | 2002-09-06 [13] | Первый выпуск Apache Tomcat с поддержкой спецификаций Servlet 2.3 и JSP 1.2 [14] . | 4.1.40 | 2009-06-25 | ? |
Старая версия, больше не поддерживается:5.0 | 2003-12-03 | Поддерживает спецификации Servlet 2.4, JSP 2.0 и EL 1.1 [14] . | 5.0.30 | 2004-08-30 | ? |
Старая версия, больше не поддерживается:5.5 [15] | 2004-11-10 [16] | Разработано для J2SE 5.0. Включение Eclipse JDT позволяет запускать Tomcat без установки полного комплекта разработки Java. | 5.5.36 | 2012-10-10 | 2012-09-30 [17] |
Старая версия, больше не поддерживается:6.0 | 2007-02-28 [18] | Поддерживает спецификации Servlet 2.5, JSP 2.1, [14] и EL 2.1. | 6.0.53 | 2017-04-07 | 2016-12-31 [19] |
Старая версия, больше не поддерживается:7.0 | 2011-01-14 [20] | Поддерживает спецификации Servlet 3.0, JSP 2.2, EL 2.2 и WebSocket [14] . | 7.0.109 | 2021-04-26 [21] | 2021-03-31 [22] |
Старая версия, больше не поддерживается:8.0 | 2014-06-25 [23] | Поддерживает спецификации Servlet 3.1, JSP 2.3 и EL 3.0 [14] . | 8.0.53 | 2018-07-05 | 2018-06-30 [24] |
Старая версия, больше не поддерживается:8.5 | 2016-06-13 | Добавляет поддержку HTTP/2 , OpenSSL для JSSE, виртуального хостинга TLS и JASPIC 1.1. Создано на основе Tomcat 9 после задержек в Java EE 8. | 8.5.100 | 2024-03-25 [25] | 2024-03-31 [26] |
Старая версия, которая все еще поддерживается:9.0 | 2018-01-18 | Поддерживает спецификации Servlet 4.0 [14] . | 9.0.98 | 2024-11-09 [27] | Будет объявлено дополнительно |
Старая версия, больше не поддерживается:10.0 | 2021-02-02 | Поддерживает спецификации Servlet 5.0, JSP 3.0, EL 4.0, WebSocket 2.0 и Authentication 2.0 [14] . | 10.0.27 | 2022-10-10 [28] | 2022-10-31 [29] |
Старая версия, которая все еще поддерживается:10.1 | 2022-09-26 | Поддерживает спецификации Jakarta Servlet 6.0, JSP 3.1, EL 5.0, WebSocket 2.1 и JASPIC 3.0 [14] . | 10.1.33 | 2024-11-11 [30] | Будет объявлено дополнительно |
Последняя версия: 11.0 | 2024-10-09 | Поддерживает спецификации Jakarta Servlet 6.1, JSP 4.0, EL 6.0, WebSocket 2.2 и JASPIC 3.1 [14] . | 11.0.1 | 2024-11-10 [31] | Будет объявлено дополнительно |
Легенда: Неподдерживаемая версия Старая версия, все еще поддерживается Последняя версия Последняя предварительная версия Будущий релиз |
Apache TomEE (произносится как «Томми») — это корпоративная версия Apache Tomcat (Tomcat + Java/Jakarta EE = TomEE), которая объединяет несколько корпоративных проектов Java, включая Apache OpenEJB , Apache OpenWebBeans , Apache OpenJPA , Apache MyFaces и другие. [32] В октябре 2011 года проект получил сертификацию Oracle Corporation как совместимая реализация Java EE 6 Web Profile. [33] [34]
Сопутствующее программное обеспечение, которое в настоящее время устарело или не поддерживается: