Apache Tomcat - Apache Tomcat

Apache Tomcat
Apache Tomcat logo.svg
Apache-tomcat-frontpage-epiphany-browser.jpg
Domyślna strona Apache Tomcat
Pierwotny autor (autorzy) James Duncan Davidson
Deweloper(zy) Fundacja Oprogramowania Apache
Pierwsze wydanie 1999 ; 22 lata temu ( 1999 )
Wersja stabilna 10.0.11 (10 września 2021 ; 38 dni temu ) [±] ( 2021-09-10 )
Wersja zapoznawcza 10.1.0-M5 (alfa) (10 września 2021 ; 38 dni temu ) [±] ( 2021-09-10 )
Magazyn Repozytorium Tomcat
Napisane w Jawa
Rodzaj
Serwer WWW HTTP kontenera serwletów
Licencja Licencja Apache 2.0
Strona internetowa tomcat .apache .org Edytuj to na Wikidanych

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
Stara wersja, nie jest już utrzymywana: 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.
Stara wersja, nie jest już utrzymywana: 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
Stara wersja, nie jest już utrzymywana: 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
Stara wersja, nie jest już utrzymywana: 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
Stara wersja, nie jest już utrzymywana: 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
Stara wersja, nie jest już utrzymywana: 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
Stara wersja, nie jest już utrzymywana: 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
Stara wersja, nie jest już utrzymywana: 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
Starsza wersja, ale nadal utrzymywana: 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
Starsza wersja, ale nadal utrzymywana: 9,0 2018-01-18 Pierwsza wersja Apache Tomcat obsługująca specyfikacje Servlet 4.0. 9.0.53 2021-09-10
Aktualna stabilna wersja: 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
Legenda:
Stara wersja
Starsza wersja, nadal utrzymywana
Ostatnia wersja
Najnowsza wersja zapoznawcza
Przyszłe wydanie


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ż

Bibliografia

Bibliografia

Zewnętrzne linki