Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Apache Tomcat (сокращенно «Tomcat») - это реализация с открытым исходным кодом Java Servlet , JavaServer Pages , Java Expression Language и WebSocket . [2] Tomcat предоставляет среду веб-сервера HTTP на «чистом Java», в которой может работать код Java .

Tomcat разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation , выпущенной под лицензией Apache License 2.0.

Компоненты [ править ]

Tomcat 4.x был выпущен вместе с Catalina (контейнер сервлетов), Coyote (соединитель HTTP) и Jasper (механизм JSP ).

Каталина [ править ]

Каталина - это контейнер сервлетов Tomcat . Каталина реализует спецификации Sun Microsystems для сервлетов и JavaServer Pages (JSP). В Tomcat элемент Realm представляет собой «базу данных» имен пользователей, паролей и ролей (аналогично группам Unix ), назначенных этим пользователям. Различные реализации Realm позволяют интегрировать Catalina в среды, где такая аутентификационная информация уже создается и поддерживается, а затем использовать эту информацию для реализации безопасности, управляемой контейнером, как описано в Спецификации сервлетов. [3]

Койот [ править ]

Coyote - это компонент Connector для Tomcat, который поддерживает протокол HTTP 1.1 в качестве веб-сервера. Это позволяет Catalina, номинально являющемуся Java-сервлетом или контейнером JSP, также действовать как простой веб-сервер, который обслуживает локальные файлы как HTTP-документы. [4] Coyote прослушивает входящие соединения с сервером через определенный порт TCP и пересылает запрос в Tomcat Engine для обработки запроса и отправки ответа запрашивающему клиенту. Другой коннектор Coyote, Coyote JK, прослушивает аналогично, но вместо этого перенаправляет свои запросы на другой веб-сервер, такой как Apache, с использованием протокола JK . [5] Это обычно обеспечивает лучшую производительность. [ необходима цитата ]

Джаспер [ править ]

Джаспер - это JSP-движок Tomcat. Jasper анализирует файлы JSP, чтобы скомпилировать их в код Java в виде сервлетов (что может обрабатываться Catalina). Во время выполнения Jasper обнаруживает изменения в файлах JSP и перекомпилирует их.

Начиная с версии 5, Tomcat использует Jasper 2, который является реализацией спецификации Sun Microsystems JSP 2.0. От Jasper до Jasper 2 были добавлены важные функции:

  • Объединение библиотеки тегов JSP - каждая разметка тега в файле JSP обрабатывается классом обработчика тегов. Объекты класса обработчика тегов могут быть объединены и повторно использованы во всем сервлете JSP.
  • Фоновая компиляция JSP - при перекомпиляции измененного кода Java JSP более старая версия все еще доступна для запросов сервера. Старый сервлет JSP удаляется после завершения перекомпиляции нового сервлета JSP.
  • Перекомпилируйте JSP при включении изменений страницы - страницы можно вставлять и включать в JSP во время выполнения. JSP будет не только перекомпилирован с изменениями файла JSP, но также с включенными изменениями страниц.
  • Компилятор JDT Java - Jasper 2 может использовать компилятор Java Eclipse JDT (Java Development Tools) вместо Ant и javac.

С выпуском Tomcat 7 были добавлены три новых компонента:

Кластер [ править ]

Этот компонент был добавлен для управления большими приложениями. Он используется для балансировки нагрузки, которая может быть достигнута с помощью многих методов. Для поддержки кластеризации в настоящее время требуется JDK версии 1.5 или выше ....

Высокая доступность [ править ]

Была добавлена ​​функция высокой доступности для облегчения планирования обновлений системы (например, новых выпусков, запросов на изменение) без воздействия на рабочую среду. Это делается путем отправки запросов реального трафика на временный сервер на другом порту, в то время как основной сервер обновляется на основном порту. Это очень полезно при обработке пользовательских запросов в веб-приложениях с высокой посещаемостью. [6]

Веб-приложение [ править ]

Он также добавил пользовательские, а также системные усовершенствования веб-приложений, чтобы добавить поддержку для развертывания в различных средах. Он также пытается управлять сеансами, а также приложениями в сети.

Tomcat создает дополнительные компоненты. С Apache Tomcat может использоваться ряд дополнительных компонентов. Эти компоненты могут быть созданы пользователями, если они им понадобятся, или они могут быть загружены с одного из зеркал. [7]

Особенности [ править ]

Tomcat 7.x реализует спецификации Servlet 3.0 и JSP 2.2. [8] Требуется Java версии 1.6, хотя предыдущие версии работали на Java с 1.1 по 1.5. В версиях с 5 по 6 были улучшены сборка мусора , синтаксический анализ JSP, производительность и масштабируемость. Нативные оболочки, известные как Tomcat Native, доступны для Microsoft Windows и Unix для интеграции платформы.

Tomcat 8.x реализует спецификации Servlet 3.1 и JSP 2.3. [9] Apache Tomcat 8.5.x предназначен для замены 8.0.x и включает новые функции, перенесенные из Tomcat 9.0.x. Минимальная версия Java и реализованные версии спецификации остаются без изменений. [10]

Tomcat 9.x реализует спецификации Servlet 4.0 и JSP 2.3. [8]

Tomcat 10.x реализует спецификации сервлетов 5.0 и JSP 3.0. [8]

История [ править ]

Tomcat начинал как сервлет эталонной реализации по Джеймсу Дункан Дэвидсон , архитектор программного обеспечения в компании Sun Microsystems. Позже он помог сделать проект открытым и сыграл ключевую роль в его пожертвовании Sun Microsystems Apache Software Foundation. [11] Apache Ant инструмент автоматизации сборки программного обеспечения был разработан как побочный эффект создания Tomcat в качестве проекта с открытым исходным кодом.

Первоначально Дэвидсон надеялся, что проект станет открытым, и, поскольку со многими проектами с открытым исходным кодом были связаны книги О'Рейли с изображением животного на обложке, он хотел назвать проект в честь животного. Он придумал кота Тома, поскольку считал, что животное представляет собой нечто, что может постоять за себя. Несмотря на то, кот уже используется для другого заголовка O'Reilly, [12] его желание увидеть обложку животное в конце концов сбылось , когда O'Reilly опубликовал свою книгу Tomcat с ирбиса на обложке в 2003 году [13]

Релизы [ править ]

Сообщества [ править ]

Программное обеспечение Apache создается как часть процесса сообщества, в котором участвуют списки рассылки как пользователей, так и разработчиков . В списке разработчиков происходит обсуждение создания и тестирования следующего выпуска, а в списке пользователей пользователи могут обсуждать свои проблемы с разработчиками и другими пользователями.

Некоторые из бесплатных ресурсов и сообществ Apache Tomcat включают Tomcatexpert.com ( спонсируемое SpringSource сообщество разработчиков и операторов, использующих Apache Tomcat в крупномасштабных производственных средах) и Apache Tomcat Resource Center MuleSoft (в котором есть инструкции по установке, обновлению , настройка, мониторинг, устранение неполадок и обеспечение безопасности различных версий Tomcat).

Apache TomEE [ править ]

Apache TomEE (произносится как «Tommy») - это Java Enterprise Edition Apache Tomcat (Tomcat + Java EE = TomEE), который объединяет несколько корпоративных проектов Java, включая Apache OpenEJB , Apache OpenWebBeans, Apache OpenJPA , Apache MyFaces и другие. [26] В октябре 2011 года проект получил сертификацию Oracle Corporation как совместимую реализацию Java EE 6 Web Profile. [27] [28]

См. Также [ править ]

  • MuleSoft , производитель Tcat, корпоративного сервера Tomcat
  • Apache Geronimo , сервер приложений, который может использовать Tomcat в качестве своего веб-контейнера.
  • Resin (программное обеспечение) - сервер приложений от Caucho Technology
  • WildFly , ранее известный как сервер приложений JBoss
  • Jetty (веб-сервер)
  • JOnAS , сервер приложений, который может использовать Tomcat в качестве своего веб-контейнера.
  • Apache OpenEJB , можно добавить в Tomcat, чтобы превратить его в сервер JavaEE
  • GlassFish , эталонная реализация Java EE, поддерживающая EJB , JPA , JSF , JMS , Java RMI , JSP, сервлеты и т. Д.
  • Сравнение программного обеспечения веб-сервера

Ссылки [ править ]

  1. ^ "Apache Tomcat - Добро пожаловать!" . Apache Tomcat . Фонд программного обеспечения Apache. 2021-02-02 . Проверено 2 февраля 2021 .
  2. ^ «Как установить Apache Tomcat на Ubuntu Server 16.04» . Проверено 4 октября 2019 .
  3. ^ «Справочник по настройке Apache Tomcat - компонент Realm» . Tomcat.apache.org . Проверено 1 ноября 2013 .
  4. ^ Коннектор Coyote HTTP / 1.1 , Apache
  5. ^ «Справочник по конфигурации сервера - Соединитель Coyote JK» . tomcat.apache.org . Проверено 24 августа 2018 .
  6. Перейти ↑ King, Graham (20 декабря 2004 г.). «Tomcat высокой доступности» . JavaWorld . Проверено 21 июля 2020 .
  7. ^ Реми Маучерат (2013-10-18). «Apache Tomcat 7 (7.0.47) - Дополнительные компоненты» . Tomcat.apache.org . Проверено 1 ноября 2013 .
  8. ^ a b c «Версии Apache Tomcat» . Проверено 12 ноября 2011 .
  9. ^ «Apache Tomcat® - Загрузка программного обеспечения Apache Tomcat 8» . tomcat.apache.org . Проверено 24 августа 2018 .
  10. ^ МакКланахан, Крейг Р. «Apache Tomcat 8 (8.5.33) - Указатель документации» . tomcat.apache.org . Проверено 24 августа 2018 .
  11. Дэвидсон, Джеймс Дункан (14 ноября 2014 г.). «Какова была история Tomcat внутри Sun до того, как он был открыт с открытым исходным кодом?» . Quora . Проверено 25 июля 2018 .
  12. ^ Синан Си Альхир (1998), UML в двух словах , O'Reilly Books, стр.  296 , ISBN 978-1-56592-448-2
  13. ^ Бриттен, Джейсон; Дарвин, Ян Ф., Tomcat: The Definitive Guide (1-е изд.), O'Reilly Media , стр. 320 , ISBN 978-0596003180, дата обращения 01.03.2018
  14. ^ «Версии Tomcat - Apache Tomcat - Фонд программного обеспечения Apache» . cwiki.apache.org . Проверено 20 июля 2020 .
  15. ^ "История происхождения Tomcat" . TechNotif. Архивировано из оригинала на 30 июня 2018 года . Проверено 23 июля 2017 года .
  16. ^ «[ОБЪЯВЛЕНИЕ] Tomcat 4.1.10 Stable» . Проверено 21 сентября 2015 года .
  17. ^ a b c d e f g Saegesser, Marc A. "Apache Tomcat® - какая версия мне нужна?" . tomcat.apache.org . Проверено 24 августа 2018 .
  18. ^ Проект Apache Tomcat. "Apache Tomcat" . Проверено 21 сентября 2015 года .
  19. ^ «Сайт Джакарты - Новости и статус» . Проверено 21 сентября 2015 года .
  20. ^ "[ANN] Выпущен Apache Tomcat 6.0.10" . Проверено 21 сентября 2015 года .
  21. ^ «Apache Tomcat® - Конец жизненного цикла Apache Tomcat 6.0.x» . tomcat.apache.org . Проверено 20 июля 2020 .
  22. ^ Проект Apache Tomcat. "Apache Tomcat" . Проверено 21 сентября 2015 года .
  23. ^ «Apache Tomcat® - Конец жизненного цикла Apache Tomcat 7.0.x» . tomcat.apache.org . Проверено 20 июля 2020 .
  24. ^ Проект Apache Tomcat. "Apache Tomcat" . Проверено 5 октября 2015 года .
  25. ^ «Apache Tomcat® - Конец жизненного цикла Apache Tomcat 8.0.x» . tomcat.apache.org . Проверено 20 июля 2020 .
  26. ^ "Apache TomEE" . Apache OpenEJB .
  27. ^ «Фонд программного обеспечения Apache объявляет, что Apache TomEE сертифицирован как совместимый с веб-профилем Java EE 6» . MarketWatch . 4 октября 2011 г.
  28. ^ «Веб-стек Apache TomEE получает одобрение» . InfoWorld . 7 октября 2011 г.

Библиография [ править ]

  • Бриттен, Джейсон; Дарвин, Ян Ф. (28 ноября 2007 г.), Tomcat: The Definitive Guide (1-е изд.), O'Reilly Media, стр. 320 , ISBN 978-0596003180, дата обращения 01.03.2018
  • Бриттен, Джейсон; Дарвин, Ян Ф., Tomcat: The Definitive Guide (2-е изд.), O'Reilly Media, стр. 496, ISBN 978-0596101060, дата обращения 01.03.2018
  • Чопра, Вивек; Ли, пой; Дженендер, Джефф (13 августа 2007 г.), Professional Apache Tomcat 6 (1-е изд.), Wrox , стр. 629, ISBN 978-0-471-75361-2, получено 2008-10-08
  • Муди, Мэтью; Миттал (ред.), Кунал (22 марта 2007 г.), Pro Apache Tomcat 6 (1-е изд.), Apress , стр. 325, ISBN 978-1-59059-785-9, получено 2008-10-08CS1 maint: дополнительный текст: список авторов ( ссылка )

Внешние ссылки [ править ]

  • Официальный веб-сайт