Apache Tomcat - Apache Tomcat
Pierwotny autor (autorzy) | James Duncan Davidson |
---|---|
Deweloper(zy) | Fundacja Oprogramowania Apache |
Pierwsze wydanie | 1999 |
Wersja stabilna | 10.0.11 (10 września 2021 [±] | )
Wersja zapoznawcza | 10.1.0-M5 (alfa) (10 września 2021 [±] | )
Magazyn | Repozytorium Tomcat |
Napisane w | Jawa |
Rodzaj |
Serwer WWW HTTP kontenera serwletów |
Licencja | Licencja Apache 2.0 |
Strona internetowa |
tomcat |
Apache Tomcat (zwany w skrócie „Tomcat”) to bezpłatna i otwarta implementacja technologii Jakarta Servlet , Jakarta Expression Language i WebSocket . Tomcat zapewnia środowisko serwera WWW „czystej Java” HTTP , w którym można uruchomić kod Java .
Tomcat jest rozwijany i utrzymywany przez otwartą społeczność programistów pod auspicjami Apache Software Foundation , wydanej na licencji Apache License 2.0.
składniki
Tomcat 4.x został wydany z Cataliną (kontener serwletów), Coyote (złącze HTTP) i Jasper ( silnik JSP ).
Catalina
Catalina to kontener serwletów Tomcata . Catalina implementuje specyfikacje Sun Microsystems dla serwletów i JavaServer Pages (JSP). W Tomcat element Realm reprezentuje „bazę danych” zawierającą nazwy użytkowników, hasła i role (podobne do grup uniksowych ) przypisanych do tych użytkowników. Różne implementacje Realm umożliwiają integrację Cataliny ze środowiskami, w których takie informacje uwierzytelniające są już tworzone i utrzymywane, a następnie wykorzystują te informacje do implementacji zabezpieczeń zarządzania kontenerami, jak opisano w specyfikacji serwletów.
Kojot
Coyote to komponent Connector dla Tomcata, który obsługuje protokół HTTP 1.1 i 2 jako serwer WWW. Dzięki temu Catalina, nominalnie jako Java Servlet lub kontener JSP, może również działać jako zwykły serwer WWW, który obsługuje lokalne pliki jako dokumenty HTTP. Coyote nasłuchuje połączeń przychodzących do serwera na określonym porcie TCP i przekazuje żądanie do silnika Tomcat w celu przetworzenia żądania i odesłania odpowiedzi do żądającego klienta. Inny łącznik Coyote, Coyote JK, nasłuchuje podobnie, ale zamiast tego przekazuje swoje żądania do innego serwera WWW, takiego jak Apache, przy użyciu protokołu JK . Zwykle zapewnia to lepszą wydajność.
Jaspis
Jasper to silnik JSP Tomcata. Jasper analizuje pliki JSP , aby skompilować je do kodu Java jako serwlety (które mogą być obsługiwane przez Catalinę). W czasie wykonywania Jasper wykrywa zmiany w plikach JSP i rekompiluje je.
Od wersji 5 Tomcat używa Jasper 2, który jest implementacją specyfikacji JSP 2.0 firmy Sun Microsystems. Od Jaspera do Jaspera 2 dodano ważne funkcje:
- Pula bibliotek znaczników JSP — każdy znacznik znacznika w pliku JSP jest obsługiwany przez klasę obsługi znaczników. Obiekty klasy obsługi znaczników mogą być łączone i ponownie wykorzystywane w całym aplecie JSP.
- Kompilacja JSP w tle — podczas ponownej kompilacji zmodyfikowanego kodu Java JSP starsza wersja jest nadal dostępna dla żądań serwera. Starszy serwlet JSP jest usuwany po zakończeniu ponownej kompilacji nowego serwletu JSP.
- Ponowna kompilacja strony JSP po zmianie dołączonej strony — strony można wstawiać i dołączać do strony JSP w czasie wykonywania. Strona JSP zostanie nie tylko ponownie skompilowana ze zmianami w pliku JSP, ale także z dołączonymi zmianami stron.
- Kompilator JDT Java – Jasper 2 może używać kompilatora Java Eclipse JDT (Java Development Tools) zamiast Ant i
javac
.
Wraz z wydaniem Tomcat 7 dodano trzy nowe komponenty:
Grupa
Ten komponent został dodany do zarządzania dużymi aplikacjami. Służy do równoważenia obciążenia, które można osiągnąć za pomocą wielu technik. Obsługa klastrowania obecnie wymaga JDK w wersji 1.5 lub nowszej.
Duża dostępność
Dodano funkcję wysokiej dostępności, aby ułatwić planowanie aktualizacji systemu (np. nowe wydania, żądania zmian) bez wpływu na środowisko na żywo. Odbywa się to poprzez wysyłanie żądań ruchu na żywo do tymczasowego serwera na innym porcie, podczas gdy główny serwer jest uaktualniany na głównym porcie. Jest bardzo przydatny w obsłudze żądań użytkowników w aplikacjach internetowych o dużym natężeniu ruchu.
Aplikacja internetowa
Dodano również udoskonalenia aplikacji internetowych dla użytkowników i systemów, aby dodać obsługę wdrażania w różnych środowiskach. Próbuje również zarządzać sesjami oraz aplikacjami w sieci.
Tomcat buduje dodatkowe komponenty. Z Apache Tomcat można korzystać z wielu dodatkowych komponentów. Komponenty te mogą być budowane przez użytkowników, jeśli ich potrzebują, lub mogą być pobrane z jednego z serwerów lustrzanych.
Cechy
Tomcat 8.x implementuje specyfikacje Servlet 3.1 i JSP 2.3. Apache Tomcat 8.5.x ma zastąpić 8.0.x i zawiera nowe funkcje przeniesione z Tomcat 9.0.x. Minimalna wersja Java i zaimplementowane wersje specyfikacji pozostają bez zmian.
Tomcat 9.x implementuje specyfikacje Servlet 4.0 i JSP 2.3.
Tomcat 10.x implementuje specyfikacje Servlet 5.0 i JSP 3.0.
Historia
Tomcat zaczynał jako implementacja referencyjna serwletów przez Jamesa Duncana Davidsona , architekta oprogramowania w Sun Microsystems. Później pomógł uczynić projekt open-source i odegrał kluczową rolę w jego darowiźnie przez Sun Microsystems na rzecz Apache Software Foundation. Apache Ant narzędziem automatyzacji kompilacji oprogramowania został opracowany jako efekt uboczny tworzenia Tomcat jako projekt open source.
Davidson początkowo miał nadzieję, że projekt stanie się open-source, a ponieważ wiele projektów open source miało powiązane książki O'Reilly ze zwierzęciem na okładce, chciał nazwać projekt imieniem zwierzęcia. Wymyślił kota Toma, ponieważ uważał, że zwierzę reprezentuje coś, co może sobie poradzić. Chociaż kocur był już używany w innym tytule O'Reilly'ego, jego życzenie, aby zobaczyć okładkę ze zwierzętami, ostatecznie spełniło się, gdy O'Reilly opublikował swoją książkę Tomcat z panterą śnieżną na okładce w 2003 roku.
Wydania
Seria | Zadeklarowana jako stabilna | Opis | Najnowsze wydanie | Najnowsza data wydania | Koniec życia |
---|---|---|---|---|---|
2,0 | 1998 | Tomcat rozpoczął działalność w listopadzie 1998 roku jako implementacja referencyjna serwletów autorstwa Jamesa Duncana Davidsona , architekta oprogramowania w Sun Microsystems. | |||
3,0 | 1999 | Pierwsze wydanie. Połączenie podarowanego kodu Sun Java Web Server i ASF oraz implementacja specyfikacji Servlet 2.2 i JSP 1.1. | 3.3.2 | 2004-03-09 | |
4.1 | 2002-09-06 | Pierwsze wydanie Apache Tomcat obsługujące specyfikacje Servlet 2.3 i JSP 1.2. | 4.1.40 | 2009-06-25 | |
5.0 | 2003-12-03 | Pierwsze wydanie Apache Tomcat obsługujące specyfikacje Servlet 2.4, JSP 2.0 i EL 1.1 . | 5.0.30 | 2004-08-30 | |
5,5 | 2004-11-10 | Zaprojektowany dla J2SE 5.0. Włączenie środowiska Eclipse JDT umożliwia działanie Tomcata bez instalowania pełnego zestawu Java Development Kit. | 5.5.36 | 2012-10-10 | |
6,0 | 2007-02-28 | Pierwsze wydanie Apache Tomcat obsługujące specyfikacje Servlet 2.5, JSP 2.1 i EL 2.1. | 6.0.53 | 2017-04-07 | 2016-12-31 |
7,0 | 2011-01-14 | Pierwsze wydanie Apache Tomcat obsługujące specyfikacje Servlet 3.0, JSP 2.2, EL 2.2 i WebSocket. | 7.0.109 | 2021-04-26 | 2021-03-31 |
8,0 | 2014-06-25 | Pierwsze wydanie Apache Tomcat obsługujące specyfikacje Servlet 3.1, JSP 2.3 i EL 3.0. | 8.0.53 | 2018-07-05 | 2018-06-30 |
8,5 | 2016-06-13 | Dodaje obsługę HTTP/2 , OpenSSL dla JSSE, wirtualnego hostingu TLS i JASPIC 1.1. Stworzony z Tomcat 9, po opóźnieniach w Java EE 8. | 8.5.72 | 2021-10-01 | |
9,0 | 2018-01-18 | Pierwsza wersja Apache Tomcat obsługująca specyfikacje Servlet 4.0. | 9.0.53 | 2021-09-10 | |
10,0 | 2021-02-02 | Pierwsza wersja Apache Tomcat obsługująca specyfikacje Servlet 5.0, JSP 3.0, EL 4.0, WebSocket 2.0 i Authentication 2.0. | 10.0.11 | 2021-09-10 | |
Stara wersja
Starsza wersja, nadal utrzymywana
Ostatnia wersja
Najnowsza wersja zapoznawcza
|
Apache TomEE
Apache TomEE (wymawiane „Tommy”) to Java Enterprise Edition firmy Apache Tomcat (Tomcat + Java EE = TomEE), która łączy kilka projektów Java Enterprise, w tym Apache OpenEJB , Apache OpenWebBeans, Apache OpenJPA , Apache MyFaces i inne. W październiku 2011 roku projekt uzyskał certyfikację Oracle Corporation jako kompatybilna implementacja Java EE 6 Web Profile.
Zobacz też
- MuleSoft , producent Tcat, korporacyjnego serwera Tomcat
- Apache Geronimo , serwer aplikacji, który może używać Tomcata jako kontenera internetowego
- Żywica (oprogramowanie) – serwer aplikacji firmy Caucho Technology
- WildFly , wcześniej znany jako JBoss Application Server
- Pomost (serwer WWW)
- JOnAS , serwer aplikacji, który może używać Tomcata jako kontenera internetowego
- Apache OpenEJB , można dodać do Tomcata, aby przekształcić go w serwer JavaEE
- GlassFish , referencyjna implementacja Java EE, obsługująca EJB , JPA , JSF , JMS , Java RMI , JSP , serwlety itp.
- Porównanie oprogramowania serwera WWW
Bibliografia
Bibliografia
- Brittain, Jason; Darwin, Ian F. (28 listopada 2007), Tomcat: The Definitive Guide (wyd. 1), O'Reilly Media, s. 320 , ISBN 978-0596003180, pobrane 2018-03-01
- Brittain, Jason; Darwin, Ian F., Tomcat: The Definitive Guide (2nd ed.), O'Reilly Media, s. 496, ISBN 978-0596101060, pobrane 2018-03-01
- Chopra, Wiwek; Li, Śpiewaj; Genender, Jeff (13 sierpnia 2007), Professional Apache Tomcat 6 (wyd. 1), Wrox , s. 629, ISBN 978-0-471-75361-2, pobrane 2009-10-08
- Moodie, Mateuszu; Mittal (wyd.), Kunal (22 marca 2007), Pro Apache Tomcat 6 (wyd. 1), Apress , s. 325, numer ISBN 978-1-59059-785-9, pobrane 2009-10-08CS1 maint: dodatkowy tekst: lista autorów ( link )