Úvod do Apache Tomcat
Apache Tomcat je softvér s otvoreným zdrojovým kódom vyvinutý nadáciou Apache. Je napísaný v Jave a bol prvýkrát vydaný v roku 1999. James Duncan Davidson bol jeho pôvodný zakladateľ, ktorý v tom čase pracoval ako softvérový architekt. Začal vyvíjať softvér apache tomcat s cieľom zabezpečiť implementáciu servletov. Čo je servlet? Jednoducho povedané, servlet je technológia na strane servera, ktorá pomáha spracovať požiadavku a odpoveď klienta na http (upozorňujeme, že hĺbkové vysvetlenie servletov je nad rámec tohto článku). Najnovšie stabilné vydanie verzie kocata 9.0.21 bolo vydané 7. júna 2019.
Apache tomcat môže byť definovaný ako webový server (ktorý sa tiež označuje ako webový kontajner / kontajner servletov), ktorý spracováva servlety, JSP (internou konverziou vašich JSP na servlety interne) a tiež vykresľuje JSP.
Upozorňujeme, že webový server sa líši od webového servera aplikačného servera. Pochopme, ako sa títo dvaja od seba líšia.
Prečo sa hovorí, že Tomcat je webový server, ale nie aplikačný server?
- Pri zabalení aplikácie môže byť buď zabalená ako .war alebo .ear Tomcat, ktorá je klasifikovaná ako webový server, pretože dokáže spracovať iba súbory .war.
- Webový server je zodpovedný za spracovanie servletov a JSP, zatiaľ čo aplikačný server by mal byť schopný spracovať sturts, EJB (Enterprise Java Beans), JSF (Java Server Faces) spolu so servletmi a JSP. Spoločnosť Tomcat dokáže spracovať iba servlety a JSP, čím sa stáva webovým serverom.
- O webovom serveri sa často hovorí, že je súčasťou aplikačného servera, pretože aplikačný server vykazuje všetky vlastnosti, ktoré má webový server, a okrem toho obsahuje aj atribúty, ako napríklad vyrovnávanie záťaže, vytrvalosť údajov, zasielanie správ. Naopak, neuplatňuje sa.
- Webové servery môžu fungovať iba prostredníctvom protokolu HTTP, zatiaľ čo aplikačné servery môžu pracovať nad rôznymi protokolmi CGI a môžu tiež obsahovať protokol HTTP. Aplikačné servery sa väčšinou používajú na spracovanie aplikácií veľkých podnikových vydaní. Pretože kocour funguje iba na protokole HTTP, patrí pod webový server.
Prečo musíme používať Apache Tomcat?
Samotné webové stránky sú statické súbory HTML. Klient preto nemôže interagovať so statickou webovou stránkou. Na uľahčenie našich webových stránok pomocou dynamických funkcií je potrebný webový server. Aby bolo možné prepojiť jednu aplikáciu s webovým serverom, sú k dispozícii preddefinované API (Application Programming Interfaces). Servlet je jedno také rozhranie API poskytované platformou Java Platform Enterprise Edition určené na spoluprácu s webovými servermi. Monitorovanie servera pre prichádzajúce požiadavky klientov nie je úlohou servletu, ale úlohou webového servera.
Akým spôsobom Apache Tomcat účinkuje?
Tomcat je široko používaný vývojármi webových stránok pri práci na vývoji webových aplikácií. Z hľadiska vysokej úrovne je apache tomcat zodpovedný za poskytovanie run-time prostredia pre servlety. Poskytuje prostredie, v ktorom je možné spustiť ich java kód.
Z podrobnejšieho hľadiska je kocour zodpovedný za:
- Vypočujte si všetky prichádzajúce žiadosti klientov.
- Na spracovanie prichádzajúcich požiadaviek klientov načítať príslušné triedy servletov pomocou mapovaní servletov (zo súboru web.xml).
- Vykonajte triedu servletov a.
- Nakoniec vyložte triedu servletov.
Od chvíle, keď sa trieda servletov načíta do bodu, keď nie je uvoľnená, je servlet zodpovedný za vybavenie žiadosti klienta vykonaním rôznych metód životného cyklu a poskytnutím potrebnej odpovede späť na koňa ako stránky JSP. Tomcat potom vráti odpoveď späť klientovi vykreslením JSP.
Čo sa deje v životnom cykle Servletov?
Životný cyklus servletu pozostáva z troch hlavných metód:
1) init () : Táto metóda sa používa na inicializáciu servletu. Servlet sa inicializuje iba raz pri spustení servera alebo pri vyvolaní klienta pomocou príslušnej adresy URL.
2) service () : Akonáhle je inštancia servletu vytvorená, potom tomcat zavolá metódu servisu servletu. Metóda služby je zodpovedná za generovanie odpovede na prichádzajúcu požiadavku, ktorá sa jej odovzdá tomcatom. Táto metóda umožňuje volanie na iné zdroje na strane servera, ktoré sú potrebné na načítanie údajov z databázy a poskytnutie odozvy späť na tomcat.
3) destroy () : Metódu zničenia vyvoláva kocúr na konci pre všetky činnosti súvisiace s vyčistením, ako je uzavretie databázových pripojení, uvoľnenie zdrojov na zber odpadu atď.
Výhody Apache Tomcat
- Najväčšou výhodou apache tomcat je to, že je to open-source. Na používanie tohto softvéru nie je potrebné vyberať peniaze. Dalo by sa ľahko stiahnuť cez internet a nakonfigurovať, a začať s tým pracovať.
- Softvérová nadácia Apache poskytuje pravidelné aktualizácie, aby bola kompatibilná s ostatnými verziami softvéru, a poskytuje opravy chýb, čím vývojárom uľahčuje používanie.
- Tomcat podporuje SSL (Secure Socket Layer), a preto ho možno nakonfigurovať pomocou certifikátu SSL na zabezpečenie citlivých údajov pomocou zabezpečeného pripojenia.
- Tomcat môže byť tiež nakonfigurovaný na spúšťanie viacerých webových aplikácií na rôznych portoch. Napríklad by mohla bežať tri aplikácie na číslach portov 8080, 8081, 9090. V predvolenom nastavení Apache tomcat používa číslo portu 8080.
- Je tiež kompatibilný s rôznymi platformami, ktorý sa dá použiť v operačných systémoch Windows, Mac OS a Linux.
- Hovorí sa, že je ľahký. To znamená, že spotrebuje menej, pokiaľ ide o využitie pamäte a zdrojov, čo umožňuje aplikácii bežať hladko na väčšine systémov bez špecifických systémových požiadaviek.
Záver -
Apache Tomcat je dnes najrozšírenejším a najpoužívanejším softvérom medzi vývojármi webových aplikácií. Štúdie tvrdia, že viac ako 60% aplikácií Java využíva apache tomcat. Existuje veľa dokumentácie a návodov, ako používať a konfigurovať apache tomcat, čo novým vývojárom webových aplikácií uľahčuje a realizuje prácu s apache tomcat.
Odporúčané články
Toto bol sprievodca Čo je Apache Tomcat. Tu diskutujeme o tom, ako to funguje, prečo ho musíme používať, životný cyklus servletov a výhody. Viac informácií nájdete aj v ďalších navrhovaných článkoch -
- Čo je to RDBMS?
- Apache HBase
- Analýza veľkých dát
- Čo je to ExpressJS?