Apache Tomcat - Apache Tomcat
Автор (ы) оригинала | Джеймс Дункан Дэвидсон |
---|---|
Разработчики) | Фонд программного обеспечения Apache |
Первый выпуск | 1999 |
Стабильный выпуск | 10.0.11 (10 сентября 2021 г [±] | )
Предварительный выпуск | 10.1.0-M5 (альфа) (10 сентября 2021 г . [±] | )
Репозиторий | Репозиторий Tomcat |
Написано в | Джава |
Тип |
Веб-сервер HTTP контейнера сервлетов |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт |
tomcat |
Apache Tomcat (сокращенно «Tomcat») - это бесплатная реализация с открытым исходным кодом технологий Jakarta Servlet , Jakarta Expression Language и WebSocket . 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 в среды, где такая аутентификационная информация уже создается и поддерживается, а затем использовать эту информацию для реализации безопасности, управляемой контейнером, как описано в Спецификации сервлетов.
Койот
Coyote - это компонент Connector для Tomcat, который поддерживает протоколы HTTP 1.1 и 2 в качестве веб-сервера. Это позволяет Catalina, номинально являющемуся Java-сервлетом или контейнером JSP, также действовать как простой веб-сервер, который обслуживает локальные файлы как HTTP-документы. Coyote прослушивает входящие соединения с сервером на определенном TCP- порту и пересылает запрос в Tomcat Engine для обработки запроса и отправки ответа запрашивающему клиенту. Другой коннектор Coyote, Coyote JK, прослушивает аналогично, но вместо этого перенаправляет свои запросы на другой веб-сервер, такой как Apache, с использованием протокола JK . Обычно это обеспечивает лучшую производительность.
Джаспер
Джаспер - это 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 или выше.
Высокая доступность
Была добавлена функция высокой доступности для облегчения планирования обновлений системы (например, новых выпусков, запросов на изменение) без воздействия на рабочую среду. Это делается путем отправки запросов реального трафика на временный сервер на другом порту, в то время как основной сервер обновляется на основном порту. Это очень полезно при обработке запросов пользователей в веб-приложениях с высокой посещаемостью.
веб приложение
Он также добавил улучшения как пользовательских, так и системных веб-приложений, чтобы добавить поддержку для развертывания в различных средах. Он также пытается управлять сеансами, а также приложениями в сети.
Tomcat создает дополнительные компоненты. С Apache Tomcat можно использовать ряд дополнительных компонентов. Эти компоненты могут быть созданы пользователями, если они им понадобятся, или они могут быть загружены с одного из зеркал.
Функции
Tomcat 8.x реализует спецификации Servlet 3.1 и JSP 2.3. Apache Tomcat 8.5.x предназначен для замены 8.0.x и включает новые функции, перенесенные из Tomcat 9.0.x. Минимальная версия Java и реализованные версии спецификации остаются без изменений.
Tomcat 9.x реализует спецификации Servlet 4.0 и JSP 2.3.
Tomcat 10.x реализует спецификации сервлетов 5.0 и JSP 3.0.
История
Tomcat начинал как сервлет эталонной реализации по Джеймсу Дункан Дэвидсон , архитектор программного обеспечения в компании Sun Microsystems. Позже он помог сделать проект открытым и сыграл ключевую роль в его пожертвовании Sun Microsystems Apache Software Foundation. Apache Ant инструмент автоматизации сборки программного обеспечения был разработан как побочный эффект создания Tomcat в качестве проекта с открытым исходным кодом.
Первоначально Дэвидсон надеялся, что проект станет открытым, и, поскольку со многими проектами с открытым исходным кодом были связаны книги О'Рейли с изображением животного на обложке, он хотел назвать проект в честь животного. Он придумал кота Тома, поскольку считал, что животное представляет собой нечто, что может постоять за себя. Хотя кот уже использовался для другого титула О'Рейли, его желание увидеть укрытие с животными в конечном итоге сбылось, когда О'Рейли опубликовал свою книгу о котах со снежным барсом на обложке в 2003 году.
Релизы
Серии | Объявлен стабильным | Описание | Последний релиз | Последняя дата выпуска | Конец жизни |
---|---|---|---|---|---|
2.0 | 1998 г. | Tomcat начался в ноябре 1998 года в качестве сервлета эталонной реализации по Джеймсу Дункан Дэвидсон , архитектор программного обеспечения в компании Sun Microsystems. | |||
3.0 | 1999 г. | Первый выпуск. Слияние предоставленного Sun Java Web Server кода и спецификаций ASF и реализации Servlet 2.2 и JSP 1.1. | 3.3.2 | 2004-03-09 | |
4.1 | 2002-09-06 | Первый выпуск Apache Tomcat, поддерживающий спецификации Servlet 2.3 и JSP 1.2. | 4.1.40 | 2009-06-25 | |
5.0 | 2003-12-03 | Первый выпуск Apache Tomcat с поддержкой спецификаций Servlet 2.4, JSP 2.0 и EL 1.1 . | 5.0.30 | 2004-08-30 | |
5.5 | 2004-11-10 | Разработан для J2SE 5.0. Включение Eclipse JDT позволяет Tomcat работать без установленного полного комплекта разработки Java. | 5.5.36 | 2012-10-10 | |
6.0 | 2007-02-28 | Первый выпуск Apache Tomcat с поддержкой спецификаций Servlet 2.5, JSP 2.1 и EL 2.1. | 6.0.53 | 2017-04-07 | 2016-12-31 |
7.0 | 2011-01-14 | Первый выпуск Apache Tomcat с поддержкой спецификаций Servlet 3.0, JSP 2.2, EL 2.2 и WebSocket. | 7.0.109 | 2021-04-26 | 2021-03-31 |
8.0 | 2014-06-25 | Первый выпуск Apache Tomcat, поддерживающий спецификации Servlet 3.1, JSP 2.3 и EL 3.0. | 8.0.53 | 2018-07-05 | 2018-06-30 |
8,5 | 2016-06-13 | Добавляет поддержку HTTP / 2 , OpenSSL для JSSE, виртуального хостинга TLS и JASPIC 1.1. Создано из Tomcat 9 после задержек с Java EE 8. | 8.5.72 | 2021-10-01 | |
9.0 | 2018-01-18 | Первый выпуск Apache Tomcat, поддерживающий спецификации Servlet 4.0. | 9.0.53 | 2021-09-10 | |
10.0 | 2021-02-02 | Первый выпуск Apache Tomcat с поддержкой спецификаций Servlet 5.0, JSP 3.0, EL 4.0, WebSocket 2.0 и Authentication 2.0. | 10.0.11 | 2021-09-10 | |
Старая версия
Старая версия, все еще поддерживается
Последняя версия
Последняя предварительная версия
|
Apache TomEE
Apache TomEE (произносится как «Tommy») - это Java Enterprise Edition Apache Tomcat (Tomcat + Java EE = TomEE), который объединяет несколько корпоративных проектов Java, включая Apache OpenEJB , Apache OpenWebBeans, Apache OpenJPA , Apache MyFaces и другие. В октябре 2011 года проект получил сертификацию Oracle Corporation как совместимую реализацию Java EE 6 Web Profile.
Смотрите также
- 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, сервлеты и т. Д.
- Сравнение программного обеспечения веб-сервера
использованная литература
Библиография
- Бриттен, Джейсон; Дарвин, Ян Ф. (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: дополнительный текст: список авторов ( ссылка )