Što je Apache Tomcat? - Opsežni vodič za Apache Tomcat

Sadržaj:

Anonim

Uvod u Apache Tomcat

Apache Tomcat je softver otvorenog koda koji je razvila fondacija Apache. Napisana je na Javi, a prvi put je objavljena 1999. godine. James Duncan Davidson bio je njen izvorni osnivač, za kojega se tada radilo kao softverski arhitekt. Započeo je s razvijanjem softvera apache tomcat s ciljem da osigura implementaciju za servlete. Što je servlet? Jednostavnim riječima, servlet je tehnologija na strani poslužitelja koja pomaže u obradi klijentovog http zahtjeva i odgovora (imajte na umu da je detaljno objašnjenje servleta izvan okvira ovog članka). Posljednje stabilno izdanje tomcat verzije 9.0.21 objavljeno je 7. lipnja 2019. godine.

Apache tomcat može se definirati kao web poslužitelj (koji se također naziva i web kontejner / kontejner servleta), koji obrađuje servlete, JSP-ove (internim pretvaranjem vaših JSP-ova u servlete interno) i također prikazuje JSP-ove.

Imajte na umu da se web poslužitelj razlikuje od poslužitelja aplikacija. Da razumemo kako se to dvoje razlikuju jedan od drugog.

Zašto se kaže da je Tomcat web poslužitelj, ali ne i poslužitelj aplikacija?

  1. Kada pakira aplikaciju, može se pakirati u .war ili .ear Tomcat kategoriziran je kao web poslužitelj jer može obraditi samo .war datoteke.
  2. Web poslužitelj je odgovoran za obradu servleta i JSP-a, dok bi aplikacijski poslužitelj trebao biti u mogućnosti obraditi štrukle, EJB (Enterprise Java Beans), JSF (Java Server Faces) zajedno s servletima i JSP-ovima. Tomcat može obraditi samo servlete i JSP-ove, čineći ga web-poslužiteljem.
  3. Za web poslužitelj se često kaže da je dio aplikacijskog poslužitelja jer aplikacijski poslužitelj pokazuje sve značajke koje posjeduje web poslužitelj, a osim toga sadrži i atribute poput balansiranja učitavanja, postojanja podataka, slanja poruka. Međutim, obrnuto ne vrijedi.
  4. Web poslužitelji mogu raditi samo preko HTTP protokola, dok poslužitelji aplikacija mogu raditi preko različitih CGI protokola, a mogu uključivati ​​i HTTP protokol. Poslužitelji aplikacija uglavnom se koriste za rukovanje velikim aplikacijama za poslovna izdanja. Budući da tomcat radi samo na HTTP protokolu, on spada pod web poslužitelj.

Zašto trebamo koristiti Apache Tomcat?

Web stranice same su statične HTML datoteke. Stoga klijent ne može komunicirati sa statičkom web stranicom. Da bismo olakšali naše web stranice s dinamičkim mogućnostima potreban je web poslužitelj. Da biste mogli sučelje svoje aplikacije s web poslužiteljem, predviđeni su unaprijed definirani API-ji (Application Programming Interfaces). Servlet je jedan takav API koji nudi Java Platform Enterprise Edition dizajniran za rad zajedno s web poslužiteljima. Nadgledanje poslužitelja zbog dolaznih zahtjeva klijenta nije posao poslužitelja, već posao web poslužitelja.

Kako djeluje Apache Tomcat?

Tomcat naširoko koriste web programeri kada rade na razvoju web aplikacija. Iz perspektive visoke razine, apache tomcat je odgovoran za osiguravanje okruženja za servlete. Omogućuje okruženje u kojem netko može pokrenuti svoj Java kod.

Detaljnije gledano, tomcat je odgovoran za:

  1. Slušajte sve dolazne zahtjeve klijenata.
  2. Učitajte odgovarajuće klase servleta pomoću preslikavanja servleta (iz datoteke web.xml) za obradu dolaznih zahtjeva klijenta.
  3. Izvršite klasu servleta i.
  4. Na kraju, ispraznite klasu servleta.

Od točke koja je klasa servleta učitana do točke u kojoj je istovaran, servlet je odgovoran za rukovanje zahtjevima klijenta provođenjem različitih metoda životnog ciklusa i pružanjem potrebnog odgovora na tomcat kao JSP stranice. Tomcat zatim vraća klijentu odgovor vraćajući JSP.

Što se događa u životnom ciklusu Servletova?

Životni ciklus servleta sastoji se od tri glavne metode:

1) init () : Ova metoda koristi se za inicijalizaciju servleta. Servlet se inicijalizira samo jednom ili kada se pokrene poslužitelj ili na poziv klijenta pomoću odgovarajućeg URL-a.

2) service () : Jednom kada se stvori instanca servleta, tomcat poziva uslužni način servleta. Način usluge odgovoran je za generiranje odgovora na dolazni zahtjev koji mu je tomcat poslao. Ova metoda upućuje pozive na druge resurse na strani poslužitelja potrebne za dohvaćanje podataka iz baze podataka i pružanje odgovora natrag u tomcat.

3) uništi () : Tomcat na kraju uništava metodu za sve aktivnosti čišćenja, poput zatvaranja veza u bazi podataka, oslobađanja resursa za odvoz smeća itd.

Prednosti Apache Tomcat

  1. Najveća prednost apache tomcat je ta što je open-source. Nema potrebe da se granatira novac kako bi se koristio ovaj softver. Može se lako preuzeti preko interneta i konfigurirati ga i započeti s njim raditi.
  2. Apacheova softverska osnova omogućuje redovita ažuriranja kako bi bila kompatibilna s ostalim verzijama softvera i osigurala ispravke programskih pogrešaka te programerima olakšala upotrebu.
  3. Tomcat podržava SSL (Secure Socket Layer) i zato se može konfigurirati pomoću SSL certifikata za osiguranje osjetljivih podataka pružanjem sigurne veze.
  4. Tomcat se također može konfigurirati za pokretanje više web aplikacija na različitim portovima. Na primjer, to bi mogle pokrenuti tri aplikacije na brojevima 8080, 8081, 9090. Apache tomcat prema zadanim postavkama koristi broj porta 8080.
  5. Također je kompatibilan s više platformi, a može se koristiti u operacijskim sustavima Windows, Mac OS, Linux.
  6. Kažu da je lagan. To znači da troši manje u smislu iskorištavanja memorije i resursa, omogućavajući aplikaciji neometano pokretanje na većini sustava bez posebnih zahtjeva sustava.

Zaključak -

Apache Tomcat je danas najčešće i najčešće korišteni softver među programerima web aplikacija. Studije tvrde da više od 60% java aplikacija koristi apache tomcat. Postoje brojna dokumentacija i vodiči o tome kako koristiti i konfigurirati apache tomcat, čineći novim programerima web aplikacija lakši i izvediviji rad s apache tomcatom.

Preporučeni članci

Ovo je vodič za Što je Apache Tomcat. Ovdje smo raspravljali o tome kako to radi, zašto ga trebamo koristiti, Servletov životni ciklus i prednosti. Možete i proći naše druge predložene članke da biste saznali više -

  1. Što je RDBMS?
  2. Apache HBase
  3. Analitika velikih podataka
  4. Što je ExpressJS?