Programování

Co je Tomcat? Původní kontejner servletu Java

Apache Tomcat je dlouhodobý otevřený kontejner servletů Java, který implementuje několik základních podnikových specifikací Java, jmenovitě rozhraní Java Servlet, JavaServer Pages (JSP) a WebSockets API.

Projekt Apache Software Foundation, Tomcat byl poprvé vydán v roce 1998, pouhé čtyři roky po samotné Javě. Tomcat začal jako referenční implementace pro první API Java Servlet a specifikaci JSP. Ačkoli již není referenční implementací pro žádnou z těchto technologií, Tomcat zůstává nejpoužívanějším serverem Java a může se pochlubit osvědčeným a osvědčeným jádrem s dobrou rozšiřitelností.

V tomto krátkém úvodu se dozvíte, proč mnoho softwarových obchodů volí pro provozování webových aplikací Java Tomcat. Získáte přehled Tomcat a jeho použití, stejně jako instalační pokyny pro nejnovější verzi od tohoto psaní.

Tomcat a API Java Servlet

Tomcat 9 podporuje specifikace Servlet 4.0 a vyžaduje JDK 8 nebo vyšší. Tomcat 8.5 podporuje několik novějších funkcí, jako je HTTP / 2, ale zůstává kontejnerem Servlet 3.

Jaký druh serveru je Tomcat?

Ekosystém Java podporuje několik druhů aplikačních serverů, takže je rozdělíme a uvidíme, kam Tomcat zapadá:

  • A servletový kontejner je implementace specifikace Java Servlet, používaná primárně pro hostování servletů Java.
  • A webový server je server určený k poskytování souborů z místního systému, jako je Apache.
  • A Podnikový aplikační server Java je plnohodnotná implementace specifikace Java EE (nyní Jakarta EE).

Tomcat je srdcem servlet a kontejner JSP. Servlet Java zapouzdřuje kód a obchodní logiku a definuje, jak by měly být požadavky a odpovědi zpracovávány na serveru Java. JSP je technologie vykreslování pohledu ze strany serveru. Jako vývojář napíšete servlet nebo stránku JSP a poté necháte Tomcat zpracovat směrování.

Tomcat také obsahuje Coyote engine, což je webový server. Díky Coyote je možné rozšířit Tomcat tak, aby zahrnoval celou řadu podnikových specifikací a funkcí Java, včetně Java Persistence API (JPA). Tomcat má také rozšířenou verzi nazvanou TomEE, která obsahuje více podnikových funkcí. Dále krátce představím TomEE v tomto článku.

Začněme pohledem na to, jak používat Tomcat k hostování servletů a JSP.

Stáhněte a nainstalujte Tomcat

Jako starodávný softwarový svět je k dispozici řada verzí Tomcat. Informace o rozdílech ve verzích jsou k dispozici na domovské stránce Tomcat. Obvykle stačí vybrat nejnovější stabilní verzi.

Pro naše účely si stáhněte nejnovější verzi Tomcatu, kterým je v současné době Tomcat 9. Máte na výběr stažení Tomcatu jako archivu (.zip nebo tar.gz), nebo jako nainstalovaná služba. Nejlepší volba je na vás - pokud samozřejmě nepoužíváte systém Windows, v takovém případě přejdete do archivu. Archiv použijeme pro tento článek.

Instalace systému Windows pro Tomcat

Pokud používáte Windows a chcete použít instalační program, jednoduše si stáhněte soubor .exe a spusťte jej. Tomcat se nainstaluje jako služba s rozumnými výchozími hodnotami. Poté vás bude informovat o tom, kde se instalace nachází, a můžete pokračovat, jako byste tam archiv rozbalili.

Krok 1. Instalace z příkazového řádku

Přejděte na příkazový řádek a zadejte gunzip apache-tomcat-9.0.19.tar.gz následován tar -xf apache-tomcat-9.0.19.tar. Tím se vytvoří následující adresáře:

  • /zásobník obsahuje skripty pro spuštění Tomcat.
  • / webapps je umístění, kde budete nasazovat své aplikace.
  • / protokoly je místo, kde Tomcat vydává své protokoly. Všimněte si, že protokoly Tomcat jdou do /logs/catalina.out ve výchozím stavu. Tento soubor můžete použít k ladění problémů ve spojení se soubory protokolu pro konkrétní aplikaci.
  • / lib tam hledá Tomcat JAR. Zde uložíte další balíčky, které nejsou součástí Tomcat, například JPA.
  • / konf je konfigurační XML pro Tomcat, kde můžete dělat věci, jako je přidávání uživatelů a rolí pro Tomcat.

Krok 2. Spusťte Tomcat

Pokud jste nainstalovali Tomcat jako službu, je již spuštěna. Jinak pokračujte a spusťte jej zadáním ./catalina.sh start na příkazovém řádku. (Typ ./catalina.sh bez argumentů pro zobrazení všech dostupných příkazů). Nyní byste měli být schopni procházet uvítací obrazovku Tomcatu v prohlížeči.

Matthew Tyson

Nasazení aplikací v Tomcatu

Tomcat webové aplikace adresář je místo, kam nasadíte aplikaci. Můžete odhodit a .válka soubor a Tomcat jej spustí. Soubor WAR je standardní obal pro prostředek webové aplikace: soubor JAR s několika dalšími soubory, které kontejneru (v tomto případě Tomcat) říkají, jak jej spustit.

Kromě standardního balení existují tři další způsoby, jak nasadit obsah v Tomcat.

Rozložené nasazení

„Explodovaná“ webová aplikace je aplikace, která není komprimována do souboru WAR, což znamená, že stále obsahuje všechny prvky rozložené v adresářích a souborech. Archiv Tomcat, který jste rozbalili, byl dodán s několika příklady nasazenými tímto způsobem, které najdete v / webapps / příklady adresář. Výhodou rozloženého nasazení je, že se tam můžete dívat na soubory bez obav z komprese.

Pokud přejdete na // localhost: 8080 / examples /, najdete seznam odkazů. Tuto stránku vykreslil Tomcat z webu /webapps/examples/index.html soubor. Tomcat obsluhuje soubor HTML ze systému souborů, což je instance Tomcat's Coyote engine fungujícího jako webový server.

Můžete prozkoumat předložené příklady - poskytují vám dobrý přehled o schopnostech Tomcatu obsluhovat servlety, JSP a WebSockets.

Tomcat také ve výchozím nastavení obsahuje aplikaci pro správu, která se nachází pod /manažer cesta. Tato aplikace mimo jiné umožňuje spouštět, zastavovat a znovu nasazovat aplikace z webové konzoly.

Zobrazuje statický obsah

Je možné poskytovat soubory ze systému souborů nebo je přeposílat z Tomcatu na jiný server HTTP, jako je Apache. Dalším běžným nastavením je umístit souborový server jako Apache nebo Nginx před Tomcat a poté předat vaše požadavky API do Tomcat. V těchto případech se knihovna mod_JK používá ke konfiguraci komunikace Tomcat a Apache (nebo dokonce jiného webového serveru, jako je IIS).

Pro lepší výkon, zejména při doručování statického obsahu, nabízí Tomcat také nativní obálky pro Windows a Linux. Toto je známé jako Tomcat APR a více informací je k dispozici zde. Ty nejsou nutné pro typické případy použití, ale je dobré o nich vědět.

Integrovaný Tomcat

Jetty byl po dlouhou dobu jediným serverem, který byl schopen fungovat jako vestavěný server. To se změnilo a nyní může Tomcat běžet také vložený. Myšlenka při použití vestavěného serveru spočívá v tom, že místo serveru obsahujícího soubory aplikace, jak jste již viděli, máte aplikaci s hlavní třídou (tj. Samostatnou aplikací Java), která vyvolává možnosti serveru z uvnitř jeho kódové základny. Celkově to nabízí jednodušší a přenosnější vývojový model a rychle se stalo normou. Spring Boot například používá vloženou instanci Tomcat spuštěnou v režimu dev.

Spuštění integrovaného serveru může znamenat jednoduchost, pokud jde o operace, protože nyní pracujete pouze s jednou komponentou (aplikací) namísto řešení s nasazením aplikace i serveru. Na druhou stranu nastavení, kde Tomcat běží jako nezávislý hostitel, je stále velmi běžné.

TomEE

Je možné použít více standardních funkcí Java EE (nebo Jakarta EE) s Tomcatem přidáním těchto knihoven do samotného Tomcat nebo do závislostí vaší aplikace. Další možností je server TomEE. TomEE je stejný engine Tomcat s další podporou Java pro podniky, včetně populárních API JPA a CDI (Contexts and Dependency Injection). Specifikace TomEE je založena na webovém profilu Java EE, takže vám dává víc než Tomcat, ale není to plnohodnotný aplikační server Java EE, jako je WildFly nebo Glassfish.

Vysoká dostupnost a shlukování

Tomcat podporuje vysokou dostupnost a shlukování. Vysoká dostupnost je v zásadě schopnost selhání na jinou instanci serveru a znovu vytvořte relaci, jako by se nic nepokazilo. Clustering je schopnost vytvářet více verzí stejného serveru pro zpracování velkoobjemového provozu.

Závěr

Tomcat zůstává aktivně vyvíjen, drží krok se změnami a poskytuje solidní a spolehlivou platformu pro nasazení webových aplikací. Jak pokračující popularita, tak volba jako výchozí platformy Java pro mnoho systémů PaaS svědčí o jejím pokračujícím úspěchu.

Tento příběh „Co je Tomcat? Původní kontejner servletů Java“ původně publikoval JavaWorld.

$config[zx-auto] not found$config[zx-overlay] not found