Apache-томкат

Среда веб-сервера HTTP на базе Java
Apache-томкат
Оригинальный автор(ы)Джеймс Дункан Дэвидсон
Разработчик(и)Фонд программного обеспечения Apache
Первоначальный выпуск1999 ; 26 лет назад ( 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 были добавлены важные функции:

  • Объединение библиотеки тегов JSP – Каждая разметка тега в файле JSP обрабатывается классом обработчика тегов. Объекты класса обработчика тегов могут быть объединены и повторно использованы во всем сервлете JSP.
  • Фоновая компиляция JSP – При перекомпиляции измененного кода JSP Java старая версия все еще доступна для запросов сервера. Старый сервлет JSP удаляется после того, как новый сервлет JSP завершает перекомпиляцию.
  • Перекомпилируйте JSP при включенных изменениях страницы – страницы могут быть вставлены и включены в JSP во время выполнения. JSP будет перекомпилирован не только с изменениями файла JSP, но и с включенными изменениями страницы.
  • Компилятор Java JDT – Jasper 2 может использовать компилятор Java Eclipse JDT (Java Development Tools) вместо Ant и 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.01998Tomcat был создан в ноябре 1998 года [12] как эталонная реализация сервлета Джеймсом Дунканом Дэвидсоном , архитектором программного обеспечения в Sun Microsystems.???
Старая версия, больше не поддерживается:3.01999Первоначальный выпуск. Объединение пожертвованного кода Sun Java Web Server и спецификаций ASF и Implements Servlet 2.2 и JSP 1.1.3.3.22004-03-09?
Старая версия, больше не поддерживается:4.12002-09-06 [13]Первый выпуск Apache Tomcat с поддержкой спецификаций Servlet 2.3 и JSP 1.2 [14] .4.1.402009-06-25?
Старая версия, больше не поддерживается:5.02003-12-03Поддерживает спецификации Servlet 2.4, JSP 2.0 и EL 1.1 [14] .5.0.302004-08-30?
Старая версия, больше не поддерживается:5.5 [15]2004-11-10 [16]Разработано для J2SE 5.0. Включение Eclipse JDT позволяет запускать Tomcat без установки полного комплекта разработки Java.5.5.362012-10-102012-09-30 [17]
Старая версия, больше не поддерживается:6.02007-02-28 [18]Поддерживает спецификации Servlet 2.5, JSP 2.1, [14] и EL 2.1.6.0.532017-04-072016-12-31 [19]
Старая версия, больше не поддерживается:7.02011-01-14 [20]Поддерживает спецификации Servlet 3.0, JSP 2.2, EL 2.2 и WebSocket [14] .7.0.1092021-04-26 [21]2021-03-31 [22]
Старая версия, больше не поддерживается:8.02014-06-25 [23]Поддерживает спецификации Servlet 3.1, JSP 2.3 и EL 3.0 [14] .8.0.532018-07-052018-06-30 [24]
Старая версия, больше не поддерживается:8.52016-06-13Добавляет поддержку HTTP/2 , OpenSSL для JSSE, виртуального хостинга TLS и JASPIC 1.1. Создано на основе Tomcat 9 после задержек в Java EE 8.8.5.1002024-03-25 [25]2024-03-31 [26]
Старая версия, которая все еще поддерживается:9.02018-01-18Поддерживает спецификации Servlet 4.0 [14] .9.0.982024-11-09 [27]Будет объявлено дополнительно
Старая версия, больше не поддерживается:10.02021-02-02Поддерживает спецификации Servlet 5.0, JSP 3.0, EL 4.0, WebSocket 2.0 и Authentication 2.0 [14] .10.0.272022-10-10 [28]2022-10-31 [29]
Старая версия, которая все еще поддерживается:10.12022-09-26Поддерживает спецификации Jakarta Servlet 6.0, JSP 3.1, EL 5.0, WebSocket 2.1 и JASPIC 3.0 [14] .10.1.332024-11-11 [30]Будет объявлено дополнительно
Последняя версия: 11.02024-10-09Поддерживает спецификации Jakarta Servlet 6.1, JSP 4.0, EL 6.0, WebSocket 2.2 и JASPIC 3.1 [14] .11.0.12024-11-10 [31]Будет объявлено дополнительно
Легенда:
Неподдерживаемая версия
Старая версия, все еще поддерживается
Последняя версия
Последняя предварительная версия
Будущий релиз

Apache TomEE

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]

Смотрите также

Сопутствующее программное обеспечение, которое в настоящее время устарело или не поддерживается:

  • MuleSoft , производитель Tcat, корпоративного сервера Tomcat
  • Apache Geronimo , сервер приложений, который может использовать Tomcat в качестве своего веб-контейнера
  • Resin (программное обеспечение) , сервер приложений от Caucho Technology
  • JOnAS, сервер приложений, который может использовать Tomcat в качестве своего веб-контейнера
  • Apache OpenEJB можно добавить к Tomcat, чтобы превратить его в сервер JavaEE

Ссылки

  1. ^ "Tomcat 10.1.34". 9 декабря 2024 г. Получено 11 декабря 2024 г.
  2. ^ "Справочник по конфигурации Apache Tomcat - Компонент Realm". Tomcat.apache.org . Получено 01.11.2013 .
  3. ^ Coyote HTTP/1.1 Connector, Apache
  4. ^ "Справочник по конфигурации сервера - Coyote JK Connector". tomcat.apache.org . Получено 24 августа 2018 г. .
  5. Кинг, Грэм (20 декабря 2004 г.). «Высокая доступность Tomcat». JavaWorld . Получено 21 июля 2020 г. .
  6. ^ abc "Версии Apache Tomcat" . Получено 2024-10-27 .
  7. ^ Дэвидсон, Джеймс Дункан (14 ноября 2014 г.). «Какова была история Tomcat внутри Sun до того, как он стал открытым?». Quora . Получено 25 июля 2018 г.
  8. ^ Синан Си Альхир (1998), UML в двух словах, O'Reilly Books, стр. 296, ISBN 978-1-56592-448-2
  9. Бриттен, Джейсон; Дарвин, Ян Ф. (28 ноября 2007 г.), Tomcat: The Definitive Guide (1-е изд.), O'Reilly Media , стр. 320, ISBN 978-0596003180, получено 2018-03-01
  10. ^ Версии Apache Tomcat
  11. ^ "Версии Tomcat - Apache Tomcat". cwiki.apache.org . Apache Software Foundation . Получено 20 июля 2020 г. .
  12. ^ "История происхождения Tomcat". TechNotif. 24 апреля 2015 г. Архивировано из оригинала 30 июня 2018 г. Получено 23 июля 2017 г.
  13. ^ "[АНОНС] Tomcat 4.1.10 Stable" . Получено 21 сентября 2015 г. .
  14. ^ abcdefghi Saegesser, Marc A. «Apache Tomcat — какую версию я хочу?». tomcat.apache.org . Получено 24 августа 2018 г. .
  15. ^ Проект Apache Tomcat. "Apache Tomcat" . Получено 21 сентября 2015 г.
  16. ^ "The Jakarta Site - News and Status" . Получено 21 сентября 2015 г. .
  17. ^ Проект Apache Tomcat. "Apache Tomcat" . Получено 28.03.2022 .
  18. ^ "[ANN] Apache Tomcat 6.0.10 выпущен" . Получено 21 сентября 2015 г. .
  19. ^ "Apache Tomcat - Окончание поддержки Apache Tomcat 6.0.x". tomcat.apache.org . Получено 20 июля 2020 г. .
  20. ^ Проект Apache Tomcat. "Apache Tomcat" . Получено 21 сентября 2015 г.
  21. ^ "Apache Tomcat 7 (7.0.109) - Журнал изменений". tomcat.apache.org . Получено 17.06.2021 .
  22. ^ "Apache Tomcat - Окончание поддержки Apache Tomcat 7.0.x". tomcat.apache.org . Получено 20 июля 2020 г. .
  23. ^ Проект Apache Tomcat. "Apache Tomcat" . Получено 5 октября 2015 г.
  24. ^ "Apache Tomcat - Окончание поддержки Apache Tomcat 8.0.x". tomcat.apache.org . Получено 20 июля 2020 г. .
  25. ^ Проект Apache Tomcat. "Apache Tomcat 8.5 Changelog" . Получено 2024-04-07 .
  26. ^ "Apache Tomcat - Окончание поддержки Apache Tomcat 8.5.x". tomcat.apache.org . Получено 16.10.2023 .
  27. ^ Проект Apache Tomcat. "Apache Tomcat 9.0 Changelog" . Получено 2024-11-15 .
  28. ^ Проект Apache Tomcat. "Apache Tomcat 10.0 Changelog" . Получено 2023-05-09 .
  29. ^ "Apache Tomcat - Окончание поддержки Apache Tomcat 10.0.x". tomcat.apache.org . Получено 17.11.2022 .
  30. ^ Проект Apache Tomcat. "Apache Tomcat 10.1 Changelog" . Получено 2024-11-15 .
  31. ^ Проект Apache Tomcat. "Apache Tomcat 11.0 Changelog" . Получено 15.11.2024 .
  32. ^ "Apache TomEE" . Апач OpenEJB .
  33. ^ "Apache Software Foundation объявляет о сертификации Apache TomEE как совместимого с Java EE 6 Web Profile". MarketWatch . 4 октября 2011 г.
  34. ^ "Apache TomEE Web stack получает одобрение". InfoWorld . 7 октября 2011 г.

Библиография

  • Бриттен, Джейсон; Дарвин, Ян Ф. (28 ноября 2007 г.), Tomcat: The Definitive Guide (1-е изд.), O'Reilly Media, стр. 320, ISBN 978-0596003180, получено 2018-03-01
  • Бриттен, Джейсон; Дарвин, Ян Ф. (28 ноября 2007 г.), Tomcat: The Definitive Guide (2-е изд.), O'Reilly Media, стр. 496, ISBN 978-0596101060, получено 2018-03-01
  • Чопра, Вивек; Ли, Синг; Дженендер, Джефф (13 августа 2007 г.), Professional Apache Tomcat 6 (1-е изд.), Wrox , стр. 629, ISBN 978-0-471-75361-2, заархивировано из оригинала 2009-05-14 , извлечено 2009-10-08
  • Муди, Мэтью; Миттал (ред.), Кунал (22 марта 2007 г.), Pro Apache Tomcat 6 (1-е изд.), Apress , стр. 325, ISBN 978-1-59059-785-9, получено 2009-10-08
  • Официальный сайт
Взято с "https://en.wikipedia.org/w/index.php?title=Apache_Tomcat&oldid=1267978065"