Programovanie

Čo je Tomcat? Originálny kontajner servletu Java

Apache Tomcat je dlhodobý open-source kontajner servletov Java, ktorý implementuje niekoľko základných podnikových špecifikácií Java, konkrétne Java Servlet, JavaServer Pages (JSP) a WebSockets API.

Tomcat, projekt Apache Software Foundation, bol prvýkrát uvedený na trh v roku 1998, iba štyri roky po samotnej Jave. Tomcat začal ako referenčná implementácia pre prvé rozhranie Java Servlet API a špecifikáciu JSP. Aj keď to už nie je referenčná implementácia pre žiadnu z týchto technológií, Tomcat zostáva najpoužívanejším serverom Java a môže sa pochváliť osvedčeným a osvedčeným jadrom s dobrou rozšíriteľnosťou.

V tomto krátkom úvode sa dozviete, prečo si mnoho softvérových obchodov vyberá na spustenie webových aplikácií Java Tomcat. Získate prehľad Tomcat a o tom, ako sa používa, ako aj inštalačné pokyny pre najaktuálnejšiu verziu od tohto písania.

Tomcat a Java Servlet API

Tomcat 9 podporuje špecifikáciu Servlet 4.0 a vyžaduje JDK 8 alebo vyšší. Tomcat 8.5 podporuje niekoľko novších funkcií, ako je HTTP / 2, ale zostáva kontajnerom Servlet 3.

Čo je to za server, Tomcat?

Ekosystém Java podporuje niekoľko druhov aplikačných serverov, poďme ich preto rozčleniť a pozrime sa, kam zapadá Tomcat:

  • A nádoba na servlet je implementácia špecifikácie Java Servlet, ktorá sa používa predovšetkým na hosťovanie servletov Java.
  • A webový server je server určený na poskytovanie súborov z miestneho systému, napríklad Apache.
  • A Podnikový aplikačný server Java je plnohodnotná implementácia špecifikácie Java EE (teraz Jakarta EE).

V jadre je Tomcat servlet a kontajner JSP. Servlet Java zapuzdruje kód a obchodnú logiku a definuje, ako by sa mali na serveri Java spracovávať požiadavky a odpovede. JSP je technológia vykresľovania zo strany servera. Ako vývojár napíšete servlet alebo stránku JSP a potom necháte Tomcat, aby spracoval smerovanie.

Tomcat tiež obsahuje motor Coyote, čo je webový server. Vďaka Coyote je možné rozšíriť Tomcat tak, aby obsahoval celý rad podnikových špecifikácií a schopností Java vrátane Java Persistence API (JPA). Tomcat má tiež rozšírenú verziu s názvom TomEE, ktorá obsahuje viac podnikových funkcií. TomEE v krátkosti predstavím neskôr v tomto článku.

Začnime pohľadom na použitie Tomcatu na hostenie servletov a JSP.

Stiahnite a nainštalujte Tomcat

Ako starodávny softvérového sveta je k dispozícii množstvo verzií Tomcat. Informácie o rozdieloch vo verziách sú k dispozícii na domovskej stránke Tomcat. Spravidla stačí zvoliť najnovšiu stabilnú verziu.

Pre naše účely si stiahnite najnovšiu verziu Tomcat, ktorá je v súčasnosti Tomcat 9. Máte na výber stiahnutie Tomcat ako archívu (.PSČ alebo tar.gz), alebo ako nainštalovaná služba. Najlepšia voľba je na vás - pokiaľ samozrejme nepoužívate Windows, v takom prípade pôjdete po archíve. Archív použijeme pre tento článok.

Inštalácia systému Windows pre Tomcat

Ak máte Windows a chcete použiť inštalačný program, jednoducho si stiahnite súbor .exe a spustite ho. Tomcat sa nainštaluje ako služba s rozumnými predvolenými nastaveniami. Potom vás bude informovať, kde sa inštalácia nachádza, a môžete pokračovať, akoby ste tam archív rozbalili.

Krok 1. Inštalácia z príkazového riadku

Prejdite na príkazový riadok a zadajte gunzip apache-tomcat-9.0.19.tar.gz nasledovaný tar -xf apache-tomcat-9.0.19.tar. Takto sa vytvoria nasledujúce adresáre:

  • / bin obsahuje skripty na vykonávanie Tomcat.
  • / webapps je miesto, kde budete nasadzovať svoje aplikácie.
  • / protokoly je miesto, kde Tomcat vydáva svoje protokoly. Upozorňujeme, že denníky Tomcat idú do /logs/catalina.out predvolene. Tento súbor môžete použiť na ladenie problémov v spojení so súbormi denníka pre konkrétnu aplikáciu.
  • / lib je to miesto, kde Tomcat hľadá JAR. Na tomto mieste budete ukladať ďalšie balíčky, ktoré nie sú súčasťou Tomcat, napríklad JPA.
  • / konf je konfiguračné XML pre Tomcat, kde môžete robiť napríklad pridávanie používateľov a rolí pre Tomcat.

Krok 2. Spustite Tomcat

Ak ste nainštalovali službu Tomcat ako službu, je už spustená. V opačnom prípade pokračujte a naštartujte ho zadaním ./catalina.sh štart na príkazovom riadku. (Typ ./catalina.sh bez argumentov na zobrazenie všetkých dostupných príkazov). Teraz by ste mali byť schopní prehliadať v prehliadači uvítaciu obrazovku spoločnosti Tomcat.

Matthew Tyson

Nasadzovanie aplikácií v Tomcat

Tomcat webové aplikácie adresár je miesto, kde nasadíte aplikáciu. Môžete pustiť a .vojna súbor tam a Tomcat to spustí. Súbor WAR je štandardným balením prostriedku webovej aplikácie: súbor JAR s niekoľkými ďalšími súbormi, ktoré kontajneru (v tomto prípade Tomcat) hovoria, ako ho spustiť.

Okrem štandardného balenia existujú tri ďalšie spôsoby nasadenia obsahu v službe Tomcat.

Rozložené nasadenie

„Explodovaná“ webová aplikácia je aplikácia, ktorá sa nekomprimuje do súboru WAR, čo znamená, že stále obsahuje všetky prvky rozložené v adresároch a súboroch. Archív Tomcat, ktorý ste rozbalili, bol dodaný s niekoľkými príkladmi nasadenými týmto spôsobom, ktoré nájdete v / webapps / príklady adresár. Výhodou rozloženého nasadenia je, že si tam môžete pozrieť súbory bez obáv z kompresie.

Ak prejdete na // localhost: 8080 / examples /, nájdete zoznam odkazov. Túto stránku vykreslil Tomcat z /webapps/examples/index.html spis. Tomcat poskytuje súbor HTML zo súborového systému, ktorý je inštanciou Tomcatovho Coyote enginu fungujúceho ako webový server.

Môžete slobodne preskúmať predložené príklady - poskytujú vám dobrý prehľad o schopnostiach spoločnosti Tomcat poskytovať servlety, JSP a WebSockets.

Tomcat predvolene obsahuje aj aplikáciu na správu, ktorá sa nachádza pod / manažér cesta. Táto aplikácia vám okrem iného umožňuje spúšťať, zastavovať a presúvať aplikácie z webovej konzoly.

Poskytuje statický obsah

Je možné poskytovať súbory zo súborového systému alebo ich posielať z Tomcatu na iný server HTTP, napríklad Apache. Ďalším bežným nastavením je umiestniť súborový server ako Apache alebo Nginx pred Tomcat a potom poslať vaše požiadavky na API do Tomcat. V týchto prípadoch sa knižnica mod_JK používa na konfiguráciu komunikácií Tomcat a Apache (alebo dokonca iného webového servera ako IIS).

Na zvýšenie výkonu, hlavne pri dodávaní statického obsahu, ponúka Tomcat tiež natívne obaly pre Windows a Linux. Toto je známe ako Kocúr APR a viac informácií je k dispozícii tu. Nie sú potrebné pre bežné prípady použitia, ale je dobré o nich vedieť.

Vložený Tomcat

Jetty bol dlho jediný server schopný prevádzky ako zabudovaný server. To sa zmenilo a teraz môže Tomcat bežať aj vložený. Myšlienka používania zabudovaného servera spočíva v tom, že namiesto servera obsahujúceho aplikačné súbory, ako ste už videli, máte namiesto hlavného servera aplikáciu s hlavnou triedou (to je samostatná aplikácia Java), ktorá vyvoláva možnosti servera z vo svojom kódovom základe. Celkovo to ponúka jednoduchší a prenosný model vývoja a rýchlo sa stal normou. Napríklad Spring Boot používa vloženú inštanciu Tomcat spustenú v režime dev.

Prevádzka zabudovaného servera môže znamenať jednoduchosť z hľadiska operácií, pretože teraz sa zaoberáte iba jedným komponentom (aplikáciou) namiesto nasadenia aplikácie a servera. Na druhej strane, nastavenie, kde Tomcat beží ako nezávislý hostiteľ, je stále veľmi bežné.

Mne

V službe Tomcat je možné použiť viac štandardných funkcií Java EE (alebo Jakarta EE) pridaním týchto knižníc do samotného Tomcat alebo do závislostí vašej aplikácie. Ďalšou možnosťou je server TomEE. TomEE je rovnaký modul Tomcat s ďalšou podnikovou podporou Java vrátane populárnych rozhraní API JPA a CDI (Contexts and Dependency Injection). Špecifikácia TomEE je založená na webovom profile Java EE, takže vám dáva viac ako Tomcat, ale nejde o plnohodnotný aplikačný server Java EE, ako je WildFly alebo Glassfish.

Vysoká dostupnosť a klastrovanie

Tomcat podporuje vysokú dostupnosť a klastrovanie. Vysoká dostupnosť je v podstate schopnosť zlyhanie na inú inštanciu servera a znova vytvorte reláciu, akoby sa nič nestalo. Klastrovanie je schopnosť vytvárať viac verzií toho istého servera na zvládnutie vysokovýkonného prenosu.

Záver

Tomcat zostáva aktívne vyvíjaný, drží krok so zmenami a poskytuje solídnu a spoľahlivú platformu pre nasadenie webových aplikácií. Jeho pokračujúca popularita a výber ako predvolenej platformy Java pre mnoho systémov PaaS svedčí o jeho pokračujúcom úspechu.

Tento príbeh „Čo je Tomcat? Originálny kontajner servletov Java“ pôvodne publikoval server JavaWorld.

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