Apache Tomcat
Originalautor (en) | James Duncan Davidson |
---|---|
Entwickler (en) | Die Apache Software Foundation |
Erstveröffentlichung | 1999 |
Stabile Version | 10.0.21[1] / 16. Mai 2022 |
Vorschau -Version | 10.1.0-m15[2] / 16. Mai 2022 |
Repository | Tomcat -Repository |
Geschrieben in | Java |
Typ | Servlet Container Http Webserver |
Lizenz | Apache-2.0 |
Webseite | Kater |
Apache tomcat (kurz "Tomcat" genannt) ist a frei und offen Implementierung der Jakarta Servlet, Jakarta Ausdruckssprache, und Websocket Technologien.[3] Tomcat bietet eine "reine Java" Http Webserver Umgebung, in der Java Code kann ausgeführt werden.
Tomcat wird von einer offenen Gemeinschaft von Entwicklern unter der Schirmherrschaft des Apache Software Foundation, freigelassen unter dem Apache -Lizenz 2.0 Lizenz.
Komponenten
Tomcat 4.x wurde mit Catalina (einem Servletbehälter), Coyote (einem HTTP -Anschluss) und Jasper (a JSP -Motor).
Catalina
Catalina ist Tomcat's Servlet Container. Catalina implementiert Sun Microsystems'Spezifikationen für Servlet und Javaserverseiten (JSP). In Tomcat repräsentiert ein Realm -Element eine "Datenbank" von Benutzernamen, Passwörtern und Rollen (ähnlich wie Unix Gruppen), die diesen Benutzern zugewiesen sind. Unterschiedliche Implementierungen von Realm ermöglichen es Catalina, in Umgebungen integriert zu werden, in denen solche Authentifizierungsinformationen bereits erstellt und verwaltet werden, und verwenden diese Informationen dann, um die in der Servlet -Spezifikation beschriebene Informationen zu implementieren.[4]
Kojote
Coyote ist eine Connector -Komponente für Tomcat, die das Protokoll HTTP 1.1 und 2 als Webserver unterstützt. Dies ermöglicht Catalina, nominell als Java -Servlet oder JSP -Container, auch als einfacher Webserver, der lokale Dateien als HTTP -Dokumente bedient.[5] Coyote hört auf eingehende Verbindungen zum Server auf einem bestimmten TCP Port und weiterleitet die Anfrage an die Tomcat -Engine, um die Anfrage zu verarbeiten und eine Antwort an den anfordernden Client zurückzusenden. Ein anderer Coyote -Connector, Coyote JK, hört ähnlich zu, leitet jedoch seine Anforderungen an einen anderen Webserver weiter, wie z. B. Apache unter Verwendung der JK -Protokoll.[6] Dies bietet normalerweise eine bessere Leistung.
Jaspis
Jasper ist Tomcats JSP -Engine. Jaspis Parsen JSP Dateien, um sie in Java -Code als Servlets zu kompilieren (die von Catalina behandelt werden können). Zur Laufzeit erkennt Jasper Änderungen an JSP -Dateien und kompiliert sie neu.
Ab Version 5 verwendet Tomcat Jasper 2, eine Implementierung der JSP 2.0 -Spezifikation von Sun Microsystems. Von Jasper bis Jasper 2 wurden wichtige Merkmale hinzugefügt:
- JSP Tag Library Pooling - Jedes Tag -Markup in JSP -Datei wird von einer Tag -Handler -Klasse behandelt. Objekte für Tag -Handlerklassen können im gesamten JSP -Servlet gepoolt und wiederverwendet werden.
- Hintergrund -JSP -Kompilierung - Während der Neukompilierung des geänderten JSP -Java -Codes die ältere Version für Serveranforderungen immer noch verfügbar ist. Das ältere JSP -Servlet wird gelöscht, sobald das neue JSP -Servlet neu kompiliert wurde.
- Neukompilieren Sie JSP, wenn Seitenänderungen enthalten sind - Seiten können zur Laufzeit eingefügt und in einen JSP aufgenommen werden. Der JSP wird nicht nur mit JSP -Dateiänderungen, sondern auch mit enthaltenen Seitenänderungen neu kompiliert.
- JDT Java Compiler - Jasper 2 kann den Java -Compiler von Eclipse JDT (Java Development Tools) anstelle von verwenden Ameise und
Javac
.
Drei neue Komponenten wurden mit der Veröffentlichung von Tomcat 7 hinzugefügt:
Cluster
Diese Komponente wurde hinzugefügt, um große Anwendungen zu verwalten. Es wird genutzt für Lastverteilung Das kann durch viele Techniken erreicht werden. Bei der Clustering -Unterstützung sind derzeit die JDK -Version 1.5 oder höher erforderlich.
Hohe Verfügbarkeit
Eine Funktion mit hoher Verfügbarkeit wurde hinzugefügt, um die Planung von System-Upgrades (z. B. Neuentsagen, Änderungsanforderungen) zu erleichtern, ohne die Live-Umgebung zu beeinträchtigen. Dies geschieht durch Versenden von Live -Verkehrsanforderungen an einen temporären Server auf einem anderen Port, während der Hauptserver auf dem Hauptport aktualisiert wird. Es ist sehr nützlich, um Benutzeranfragen bei hochverfaltigen Webanwendungen zu bearbeiten.[7]
Internetanwendung
Es hat die Verbesserung der Benutzer- und systembasierten Webanwendungen hinzugefügt, um Unterstützung für die Bereitstellung in der Vielzahl der Umgebungen hinzuzufügen. Es wird auch versucht, Sitzungen sowie Anwendungen im gesamten Netzwerk zu verwalten.
Tomcat baut zusätzliche Komponenten auf. Eine Reihe zusätzlicher Komponenten kann mit Apache Tomcat verwendet werden. Diese Komponenten können von Benutzern erstellt werden, falls sie sie benötigen, oder sie können von einem der Spiegel heruntergeladen werden.[8]
Merkmale
Tomcat 8.x implementiert die Spezifikationen Servlet 3.1 und JSP 2.3.[9] Apache Tomcat 8.5.x soll 8.0.x ersetzen und enthält neue Funktionen, die von Tomcat 9.0.x. nach vorne gezogen werden. Die minimale Java -Version und die implementierten Spezifikationsversionen bleiben unverändert.[10]
Tomcat 9.x implementiert die Spezifikationen Servlet 4.0 und JSP 2.3.[11]
Tomcat 10.x implementiert die Spezifikationen Servlet 5.0 und JSP 3.0.[11]
Geschichte
Tomcat begann als Servlet Referenzimplementierung durch James Duncan Davidson, ein Software -Architekt bei Sun Microsystems. Er half später, das Projekt zu machen Open Source und spielte eine Schlüsselrolle bei der Spende von Sun Microsystems an die Apache Software Foundation.[12] Das Apache Ant Das Software Build-Automatisierungswerkzeug wurde als Nebeneffekt der Erstellung von Tomcat als Open-Source-Projekt entwickelt.
Davidson hatte zunächst gehofft, dass das Projekt Open-Sourcing werden und, da viele Open-Source-Projekte hatten O'Reilly Bücher, die mit ihnen verbunden sind und ein Tier auf dem Cover zeigten, wollte er das Projekt nach einem Tier benennen. Er kam mit TomKatze Da er argumentierte, dass das Tier etwas darstellte, das für sich selbst sorgen könnte. Obwohl der Tomcat bereits für einen anderen O'Reilly -Titel verwendet wurde,[13] Sein Wunsch, ein Tierschutz zu sehen, wurde schließlich wahr, als O'Reilly ihr Tomcat -Buch mit einem veröffentlichte Schneeleopard auf der Abdeckung im Jahr 2003.[14]
Veröffentlichungen
Serie | Stabil erklärt | Beschreibung | Neueste Erscheinung | Letztes Veröffentlichungsdatum | Lebensende[15] |
---|---|---|---|---|---|
2.0 | 1998 | Tomcat begann im November 1998[16] als Servlet Referenzimplementierung durch James Duncan Davidson, ein Software -Architekt bei Sun Microsystems. | |||
3.0 | 1999 | Erstveröffentlichung. Fusion des gespendeten Sun Java Web Server -Code und ASF und implementiert die Spezifikationen von Servlet 2.2 und JSP 1.1. | 3.3.2 | 2004-03-09 | |
4.1 | 2002-09-06[17] | Erster Apache Tomcat -Veröffentlichung zur Unterstützung des Servlet 2.3 und JSP 1.2[18] Spezifikationen. | 4.1.40 | 2009-06-25 | |
5.0 | 2003-12-03 | Erste Apache Tomcat -Veröffentlichung zur Unterstützung des Servlet 2.4, JSP 2.0 und EL 1.1[18] Spezifikationen. | 5.0.30 | 2004-08-30 | |
[19] | 5.52004-11-10[20] | Entwickelt für J2SE 5.0. Die Aufnahme von Eclipse JDT ermöglicht es Tomcat, ohne ein volles Java -Entwicklungskit zu installieren. | 5.5.36 | 2012-10-10 | 2012-09-30[21] |
6.0 | 2007-02-28[22] | Erster Apache Tomcat -Veröffentlichung zur Unterstützung des Servlet 2.5, JSP 2.1,[18] und el 2.1 Spezifikationen. | 6.0.53 | 2017-04-07 | 2016-12-31[23] |
7.0 | 2011-01-14[24] | Erste Apache Tomcat -Veröffentlichung zur Unterstützung des Servlet 3.0, JSP 2.2, EL 2.2 und WebSocket[18] Spezifikationen. | 7.0.109 | 2021-04-26[25] | 2021-03-31[26] |
8.0 | 2014-06-25[27] | Erster Apache Tomcat -Veröffentlichung zur Unterstützung des Servlet 3.1, JSP 2.3 und EL 3.0[18] Spezifikationen. | 8.0.53 | 2018-07-05 | 2018-06-30[28] |
8.5 | 2016-06-13 | Fügt Unterstützung für Http/2, OpenSSL für JSSE, TLS Virtual Hosting und Jaspic 1.1. Erstellt aus Tomcat 9 nach Verzögerungen zu Java ee 8. | 8.5.81 | 2022-06-11 | |
9.0 | 2018-01-18 | Erster Apache Tomcat -Veröffentlichung zur Unterstützung des Servlet 4.0[18] Spezifikationen. | 9.0.64 | 2022-06-09 | |
10.0 | 2021-02-02 | Erste Apache Tomcat -Version zur Unterstützung des Servlet 5.0, JSP 3.0, EL 4.0, WebSocket 2.0 und Authentifizierung 2.0[18] Spezifikationen. | 10.0.22 | 2022-06-11 | |
10.1 | - | Erste Apache Tomcat -Veröffentlichung zur Unterstützung der Jakarta Servlet 6.0, JSP 3.1, EL 5.0, Websocket 2.1 und Jaspic 3.0[18] Spezifikationen. | 10.1.0-m16 | 2022-06-09 | |
Alte Version Ältere Version, noch gepflegt Letzte Version Neueste Vorschau -Version |
Apache Tomee
Apache Tomee (ausgesprochen "Tommy") ist das Java Enterprise Edition von Apache Tomcat (Tomcat + java ee = tomee), das mehrere Java Enterprise -Projekte einschließlich des Zusammenhangs enthält Apache OpenEJB, Apache OpenWebbeans, Apache OpenJPA, Apache MyFaces und andere.[29] Im Oktober 2011 erhielt das Projekt eine Zertifizierung von Oracle Corporation Als kompatible Implementierung des Webprofils Java EE 6.[30][31]
Siehe auch
- Mulesoft, Produzent von TCAT, einem Enterprise Tomcat -Server
- Apache Geronimo, ein Anwendungsserver, der Tomcat als Webcontainer verwenden kann
- Harz (Software) - Anwendungsserver von Caucho -Technologie
- Wildfliege, früher bekannt als JBoss Application Server
- Jetty (Webserver)
- Jonas, Anwendungsserver, der Tomcat als Webcontainer verwenden kann
- Apache OpenEJBkann Tomcat hinzugefügt werden, um es in einen Javaee -Server zu verwandeln
- Glasfische, das Referenzimplementierung von Java ee, Unterstützung Ejb, JPA, JSF, JMS, Java RMI, JSP, Servlets usw.
- Vergleich der Webserver -Software
Verweise
- ^ "Apache Tomcat 10.0.21 verfügbar". 16. Mai 2022. Abgerufen 20. Mai 2022.
- ^ "Apache Tomcat 10.1.0-m15 (Alpha) verfügbar". 16. Mai 2022. Abgerufen 20. Mai 2022.
- ^ "So installieren Sie Apache Tomcat auf Ubuntu Server 16.04". Abgerufen 2019-10-04.
- ^ "Apache Tomcat -Konfigurationsreferenz - Die Realm -Komponente". Tomcat.apache.org. Abgerufen 2013-11-01.
- ^ Der Coyote HTTP/1.1 -Stecker, Apache
- ^ "Serverkonfigurationsreferenz - Der Coyote -JK -Connector". tomcat.apache.org. Abgerufen 24. August 2018.
- ^ King, Graham (20. Dezember 2004). "Tomcat mit hoher Verfügbarkeit". JavaRld. Abgerufen 2020-07-21.
- ^ Remy Maucherat (2013-10-18). "Apache Tomcat 7 (7.0.47) - Zusätzliche Komponenten". Tomcat.apache.org. Abgerufen 2013-11-01.
- ^ "Apache Tomcat - Apache Tomcat 8 Software -Downloads". tomcat.apache.org. Abgerufen 24. August 2018.
- ^ McClanahan, Craig R. "Apache Tomcat 8 (8.5.33) - Dokumentationsindex". tomcat.apache.org. Abgerufen 24. August 2018.
- ^ a b "Apache Tomcat -Versionen". Abgerufen 2011-11-12.
- ^ Davidson, James Duncan (14. November 2014). "Was war die Geschichte von Tomcat in der Sonne, bevor es offen war, aufzubauen?". Quora. Abgerufen 2018-07-25.
- ^ Sinan Si Alhir (1998), Uml in der Nähe, O'Reilly Books, pp.296, ISBN 978-1-56592-448-2
- ^ Brittain, Jason; Darwin, Ian F.,, Tomcat: Die endgültige Anleitung (1. Aufl.), O'Reilly Media, p.320, ISBN 978-0596003180, abgerufen 2018-03-01
- ^ "Tomcat -Versionen - Apache Tomcat". cwiki.apache.org. Die Apache Software Foundation. Abgerufen 2020-07-20.
- ^ "Die Ursprungsgeschichte von Tomcat". Technotif. Archiviert von das Original am 30. Juni 2018. Abgerufen 23. Juli 2017.
- ^ "[Ankündigung] Tomcat 4.1.10 stabil". Abgerufen 21. September 2015.
- ^ a b c d e f g h Saegesser, Marc A. "Apache Tomcat - Welche Version will ich?". tomcat.apache.org. Abgerufen 24. August 2018.
- ^ Apache Tomcat -Projekt. "Apache tomcat". Abgerufen 21. September 2015.
- ^ "Die Jakarta -Website - Nachrichten und Status". Abgerufen 21. September 2015.
- ^ Apache Tomcat -Projekt. "Apache tomcat". Abgerufen 2022-03-28.
- ^ "[Ann] Apache Tomcat 6.0.10 veröffentlicht". Abgerufen 21. September 2015.
- ^ "Apache Tomcat - Ende des Lebens für Apache Tomcat 6.0.x". tomcat.apache.org. Abgerufen 2020-07-20.
- ^ Apache Tomcat -Projekt. "Apache tomcat". Abgerufen 21. September 2015.
- ^ "Apache Tomcat 7 (7.0.109) - Changelog". tomcat.apache.org. Abgerufen 2021-06-17.
- ^ "Apache Tomcat - Ende des Lebens für Apache Tomcat 7.0.x". tomcat.apache.org. Abgerufen 2020-07-20.
- ^ Apache Tomcat -Projekt. "Apache tomcat". Abgerufen 5. Oktober 2015.
- ^ "Apache Tomcat - Ende des Lebens für Apache Tomcat 8.0.x". tomcat.apache.org. Abgerufen 2020-07-20.
- ^ "Apache Tomee". Apache OpenEJB.
- ^ "Die Apache Software Foundation kündigt Apache Tomee als Java EE 6 Web Profile -kompatibel an.". Marktbeobachtung. 4. Oktober 2011.
- ^ "Apache Tomee Web Stack erhält die Genehmigung". InfoWorld. 7. Oktober 2011.
Literaturverzeichnis
- Brittain, Jason; Darwin, Ian F. (28. November 2007), Tomcat: Die endgültige Anleitung (1. Aufl.), O'Reilly Media, p.320, ISBN 978-0596003180, abgerufen 2018-03-01
- Brittain, Jason; Darwin, Ian F.,, Tomcat: Die endgültige Anleitung (2. Aufl.), O'Reilly Media, p. 496, ISBN 978-0596101060, abgerufen 2018-03-01
- Chopra, Vivek; Li, singen; Genender, Jeff (13. August 2007), Professioneller Apache Tomcat 6 (1. Aufl.), Wrox, p. 629, ISBN 978-0-471-75361-2, abgerufen 2009-10-08
- Moodie, Matthew; Mittal (Hrsg.), Kunal (22. März 2007), Pro Apache Tomcat 6 (1. Aufl.), Apress, p. 325, ISBN 978-1-59059-785-9, abgerufen 2009-10-08