Kaj je Apache Tomcat? - Izčrpen vodnik po Apache Tomcat

Kazalo:

Anonim

Uvod v Apache Tomcat

Apache Tomcat je odprtokodna programska oprema, ki jo je razvila fundacija Apache. Napisana je na Javi, prvič pa je izšla leta 1999. Njegov prvotni ustanovitelj je bil James Duncan Davidson, ki je takrat deloval kot arhitekt za programsko opremo. Začel je razvijati programsko opremo apache tomcat z namenom zagotoviti izvajanje servlet. Kaj je servlet? Z enostavnimi besedami, servlet je tehnologija na strani strežnika, ki pomaga pri obdelavi zahteve stranke in odziva stranke (upoštevajte, da poglobljena razlaga servlet presega področje tega članka). Zadnja stabilna izdaja različice tomcat 9.0.21 je izšla 7. junija 2019.

Apache tomcat je lahko opredeljen kot spletni strežnik (ki mu pravimo tudi spletni zabojnik / vsebnik servlet), ki obdeluje servlete, JSP-ove (s pomočjo notranje pretvorbe vaših JSP-jev v servlete) in tudi upodablja JSP-je.

Upoštevajte, da se spletni strežnik razlikuje od strežnika aplikacij. Razumejmo, kako se ta dva razlikujeta drug od drugega.

Zakaj naj bi Tomcat veljal za spletni strežnik, ne pa za aplikacijski strežnik?

  1. Ko pakirate aplikacijo, je lahko pakiran kot .war ali .ear Tomcat kategoriziran kot spletni strežnik, saj lahko upravlja samo z datotekami .war.
  2. Spletni strežnik je odgovoren za obdelavo servlet in JSP-ov, medtem ko bi aplikacijski strežnik moral imeti možnost obdelave štorkljev, EJB-jev (Enterprise Java Beans), JSF (Java Server Faces) skupaj s servleti in JSP-jev. Tomcat lahko obdeluje samo servlete in JSP, s čimer postane spletni strežnik.
  3. Za spletni strežnik se pogosto pravi, da je del aplikacijskega strežnika, saj aplikacijski strežnik ima vse funkcije, ki jih ima spletni strežnik, poleg tega pa vsebuje tudi atribute, kot so izravnava obremenitve, obstojnost podatkov, sporočila, če jih naštejemo le nekaj. Vendar obratno ne velja.
  4. Spletni strežniki lahko delujejo samo prek protokola HTTP, medtem ko aplikacijski strežniki lahko delujejo prek različnih protokolov CGI in lahko vključujejo tudi protokol HTTP. Aplikacijski strežniki se večinoma uporabljajo za upravljanje velikih aplikacij za podjetniške izdaje. Ker tomcat deluje samo na protokolu HTTP, spada pod spletni strežnik.

Zakaj moramo uporabljati Apache Tomcat?

Spletne strani same po sebi so statične datoteke HTML. Torej odjemalec ne more komunicirati s statično spletno stranjo. Za olajšanje naših spletnih strani z dinamičnimi zmožnostmi je potreben spletni strežnik. Če želite uporabniško aplikacijo povezati s spletnim strežnikom, so na voljo vnaprej določeni API-ji (Application Programming Interfaces). Servlet je en tak API, ki ga ponuja Java Platform Enterprise Edition in je zasnovan tako, da deluje skupaj s spletnimi strežniki. Nadzor strežnika za dohodne zahteve odjemalcev ni naloga servleta, ampak naloga spletnega strežnika.

Kako deluje Apache Tomcat?

Tomcat pogosto uporabljajo spletni razvijalci pri delu na razvoju spletnih aplikacij. Z vidika visoke ravni je apache tomcat odgovoren za zagotavljanje tekaškega okolja za servlete. Zagotavlja okolje, v katerem lahko nekdo izvaja svojo kodo Java.

V podrobnejšem pogledu je tomcat odgovoren za:

  1. Poslušajte vse dohodne zahteve strank.
  2. Naložite ustrezne razrede servlet s preslikavami servlet (iz datoteke web.xml) za obravnavo dohodnih zahtev strank.
  3. Izvedite razred servlet in.
  4. Končno odklopite razred servlet.

Od točke, ko je razred servletov naložen do točke, ko je naložen, je servlet odgovoren za obravnavo zahteve stranke, tako da izvaja različne metode življenjskega cikla in zagotavlja potreben odziv nazaj v tomcat kot JSP strani. Tomcat nato stranki vrne odgovor z upodobitvijo JSP.

Kaj se zgodi v življenjskem ciklu Servletov?

Življenjski cikel servlet je sestavljen iz treh glavnih metod:

1) init () : ta metoda se uporablja za inicializacijo servleta. Servlet se inicializira samo enkrat, ko se strežnik zažene ali ko ga stranka pokliče z ustreznim URL-jem.

2) service () : Ko je ustvarjen primerek servleta, potem tomcat pokliče način storitve servleta. Način storitve je odgovoren za generiranje odgovora na vhodno zahtevo, ki mu jo je poslal Tomcat. Ta metoda kliče druge vire na strani strežnika, ki so potrebni za pridobivanje podatkov iz baze in zagotavljanje odziva nazaj v tomcat.

3) uničiti () : metoda uničevanja se na koncu prikliče tomcat za vse dejavnosti, povezane s čiščenjem, na primer zapiranje povezav z bazo podatkov, sprostitev virov za odvoz smeti itd.

Prednosti Apache Tomcat

  1. Največja prednost apache tomcat je, da je open-source. Za uporabo te programske opreme vam ni treba nalagati denarja. Lahko bi ga enostavno prenesli preko interneta in ga konfigurirali ter začeli delati z njim.
  2. Programska fundacija Apache zagotavlja redne posodobitve, da je združljiva z drugimi različicami programske opreme in zagotavlja popravke napak, kar razvijalcem olajša uporabo.
  3. Tomcat podpira SSL (Secure Socket Layer) in ga je zato mogoče konfigurirati s SSL certifikatom za zaščito občutljivih podatkov z zagotavljanjem varne povezave.
  4. Tomcat je lahko konfiguriran tudi za zagon več spletnih aplikacij na različnih pristaniščih. Na primer, lahko izvajajo tri aplikacije na številkah vrat 8080, 8081, 9090. Apache tomcat privzeto uporablja številka vrat 8080.
  5. Prav tako je združljiv s platformami, ki se uporablja v operacijskih sistemih Windows, Mac OS, Linux.
  6. Pravijo, da je lahek. To pomeni, da porabi manj pomnilnika in porabe virov, kar omogoča nemoteno delovanje aplikacije v večini sistemov brez posebnih sistemskih zahtev.

Sklep -

Apache Tomcat je danes najbolj razširjena programska oprema med razvijalci spletnih aplikacij. Študije trdijo, da več kot 60% aplikacij java uporablja apache tomcat. Obstaja številna dokumentacija in vadnice o uporabi in konfiguraciji apache tomcat, kar olajša in bolj izvedljivo novim razvijalcem spletnih aplikacij za delo z apache tomcat.

Priporočeni članki

To je vodnik o tem, kaj je Apache Tomcat. Tukaj razpravljamo, kako deluje, zakaj ga moramo uporabljati, življenjski cikel Servlets in prednosti. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Kaj je RDBMS?
  2. Apache HBase
  3. Analiza velikih podatkov
  4. Kaj je ExpressJS?