Programiranje

Kaj je Tomcat? Izvirni vsebnik programskega programčka Java

Apache Tomcat je dolgoživ odprtokodni vsebnik Java servletov, ki implementira več osnovnih specifikacij Java Java, in sicer Java Servlet, JavaServer Pages (JSP) in WebSockets API.

Tomcat, projekt Apache Software Foundation, je bil prvič izdan leta 1998, le štiri leta po sami Javi. Tomcat se je začel kot referenčna izvedba za prvi API Java Servlet in specifikacije JSP. Čeprav ni več referenčna izvedba za nobeno od teh tehnologij, ostaja Tomcat najpogosteje uporabljen Java-strežnik in se ponaša z dobro preizkušenim in preizkušenim jedrnim motorjem z dobro razširljivostjo.

V tem kratkem uvodu boste izvedeli, zakaj številne prodajalne programske opreme izberejo Tomcat za zagon spletnih aplikacij Java. Dobili boste pregled programa Tomcat in njegove uporabe, pa tudi navodila za namestitev najnovejše različice v tem pisanju.

Tomcat in API Java Servlet

Tomcat 9 podpira specifikacije Servlet 4.0 in zahteva JDK 8 ali novejšo. Tomcat 8.5 podpira več novejših funkcij, kot je HTTP / 2, vendar ostaja vsebnik Servlet 3.

Kakšen strežnik je Tomcat?

Ekosistem Java podpira več vrst aplikacijskih strežnikov, zato jih razčlenimo in poglejmo, kje se Tomcat prilega:

  • A posoda za servlet je izvedba specifikacije Java Servlet, ki se uporablja predvsem za gostovanje Java servletov.
  • A spletni strežnik je strežnik, namenjen za strežbo datotek iz lokalnega sistema, kot je Apache.
  • A Javni strežnik aplikacij podjetja je popolna izvedba specifikacije Java EE (zdaj Jakarta EE).

Po srcu je Tomcat servlet in posoda JSP. Programski programček Java zajema kodo in poslovno logiko ter določa, kako naj se obravnavajo zahteve in odgovori v strežniku Java. JSP je tehnologija upodabljanja pogleda na strani strežnika. Kot razvijalec napišete strežniški program ali stran JSP, nato pa pustite, da Tomcat vodi usmerjanje.

Tomcat vsebuje tudi motor Coyote, ki je spletni strežnik. Zahvaljujoč Coyoteu je mogoče Tomcat razširiti tako, da vključuje različne specifikacije in zmogljivosti za Java, vključno z API-jem za obstojnost Java (JPA). Tomcat ima tudi razširjeno različico, imenovano TomEE, ki vključuje več funkcij podjetja. V nadaljevanju tega članka bom na kratko predstavil TomEE.

Začnimo s pogledom na uporabo Tomcata za gostovanje strežnikov in JSP-jev.

Prenesite in namestite Tomcat

Na voljo so številne različice Tomcat, ki so resnično starodavni svet programske opreme. Informacije o razlikah v različicah so na voljo na domači strani Tomcat. Običajno lahko izberete najnovejšo stabilno različico.

Za naše namene prenesite najnovejšo različico programa Tomcat, ki je trenutno Tomcat 9. Izbirate lahko med prenosom programa Tomcat kot arhiv (.zip ali tar.gz) ali kot nameščena storitev. Najboljša izbira je odvisna od vas - razen če seveda ne uporabljate sistema Windows, v tem primeru boste šli po arhiv. Za ta članek bomo uporabili arhiv.

Namestitev sistema Windows za Tomcat

Če uporabljate Windows in želite uporabljati namestitveni program, preprosto prenesite datoteko .exe in jo zaženite. Tomcat se bo namestil kot storitev z razumnimi privzetimi vrednostmi. Nato vas bo obvestil, kje je namestitev, in lahko nadaljujete, kot da ste tam razpakirali arhiv.

Korak 1. Namestitev ukazne vrstice

Pojdite v ukazno vrstico in vnesite gunzip apache-tomcat-9.0.19.tar.gz čemur sledi tar -xf apache-tomcat-9.0.19.tar. To ustvari naslednje imenike:

  • / koš vsebuje skripte za izvajanje programa Tomcat.
  • / webapps je mesto, na katerem boste razmeščali svoje aplikacije.
  • / dnevniki je tam, kjer Tomcat izda svoje dnevnike. Upoštevajte, da gredo dnevniki Tomcat /logs/catalina.out privzeto. S to datoteko lahko odpravljate težave v povezavi z dnevnimi datotekami, specifičnimi za aplikacijo.
  • / lib je tam, kjer Tomcat išče JAR-je. Tu boste shranili dodatne pakete, ki niso vključeni v Tomcat, na primer JPA.
  • / conf je config XML za Tomcat, kjer lahko počnete stvari, kot je dodajanje uporabnikov in vlog za Tomcat.

Korak 2. Zaženite Tomcat

Če ste Tomcat namestili kot storitev, se ta že izvaja. V nasprotnem primeru nadaljujte in ga zaženite z vstopom ./catalina.sh začetek v ukazni vrstici. (Tip ./catalina.sh brez argumentov za prikaz vseh razpoložljivih ukazov). Zdaj bi morali v brskalniku brskati do pozdravnega zaslona Tomcat.

Matthew Tyson

Uvajanje aplikacij v Tomcat

Tomcat's webapps imenik je mesto, kjer namestite aplikacijo. Lahko spustite .vojna datoteko in Tomcat jo bo zagnal. Datoteka WAR je standardna embalaža za vir spletne aplikacije: datoteka JAR z nekaterimi dodatnimi datotekami, ki vsebniku (v tem primeru Tomcat) sporočajo, kako ga zagnati.

Poleg standardne embalaže obstajajo trije dodatni načini za uvajanje vsebine v Tomcat.

Eksplodirano uvajanje

"Razstreljena" spletna aplikacija je aplikacija, ki ni stisnjena v datoteko WAR, kar pomeni, da še vedno vsebuje vse elemente, določene v imenikih in datotekah. Arhiv Tomcat, ki ste ga odpakirali, je dobavljen z nekaj primeri, razporejenimi na ta način, ki jih boste našli v / webapps / primeri imenik. Prednost eksplodirane razmestitve je, da si datoteke tam lahko ogledate brez skrbi za stiskanje.

Če se pomaknete do // localhost: 8080 / primeri /, boste našli seznam povezav. To stran je upodobil Tomcat iz /webapps/examples/index.html mapa. Tomcat streže datoteko HTML iz datotečnega sistema, ki je primerek Tomcat-ovega motorja Coyote, ki deluje kot spletni strežnik.

Brezplačno lahko raziščete predstavljene primere - dajejo vam dober pregled Tomcat-ovih zmogljivosti za streženje servletov, JSP-jev in WebSockets.

Tomcat privzeto vključuje tudi aplikacijo za upravljanje, ki jo najdete pod / manager pot. Ta aplikacija vam med drugim omogoča zagon, zaustavitev in prerazporeditev aplikacij s spletne konzole.

Vročanje statične vsebine

Datoteke iz datotečnega sistema lahko posredujete ali jih Tomcat posredujete drugemu strežniku HTTP, kot je Apache. Druga pogosta nastavitev je, da datotečni strežnik, kot je Apache ali Nginx, postavite pred Tomcat in nato svoje zahteve za API posredujete v Tomcat. V teh primerih se knjižnica mod_JK uporablja za konfiguriranje Tomcat in Apache (ali celo drugega spletnega strežnika, kot je IIS) za komunikacijo.

Za izboljšano delovanje, predvsem pri zagotavljanju statične vsebine, Tomcat ponuja tudi izvorne ovoje za Windows in Linux. To je znano kot Tomcat APR in več informacij je na voljo tukaj. Ti niso potrebni za tipične primere uporabe, vendar je dobro vedeti.

Vdelani Tomcat

Jetty je bil dolgo časa edini strežnik, ki je lahko deloval kot vdelani strežnik. To se je spremenilo in zdaj lahko tudi Tomcat deluje vdelano. Zamisel pri uporabi vdelanega strežnika je, da imate namesto strežnika, ki vsebuje datoteke aplikacij, kot ste že videli, aplikacijo z glavnim razredom (tj. Samostojno aplikacijo Java), ki prikliče strežniške zmogljivosti iz znotraj svoje kode. Na splošno to ponuja bolj preprost in prenosljiv razvojni model in je hitro postal norma. Spring Boot, na primer, uporablja vdelani primerek Tomcat, ki se izvaja v načinu za razvijalce.

Zagon vdelanega strežnika lahko poenostavi operacije, saj se zdaj ukvarjate samo z eno samo komponento (aplikacijo), namesto da bi se ukvarjali tako z aplikacijo kot s postavitvijo strežnika. Po drugi strani pa je nastavitev, kjer Tomcat deluje kot neodvisen gostitelj, še vedno zelo pogosta.

TomEE

S Tomcatom lahko uporabite več standardnih zmožnosti Java EE (ali Jakarta EE), tako da dodate te knjižnice v sam Tomcat ali v odvisnosti od vaše aplikacije. Druga možnost je strežnik TomEE. TomEE je isti Tomcatov motor z dodatno podporo za podjetja Java, vključno s priljubljenimi API-ji JPA in CDI (Contexts and Dependency Injection). Specifikacija TomEE temelji na spletnem profilu Java EE, zato vam ponuja več kot Tomcat, vendar ni popoln strežnik aplikacij Java EE, kot sta WildFly ali Glassfish.

Visoka razpoložljivost in združevanje v skupine

Tomcat podpira visoko razpoložljivost in združevanje v gruče. Visoka razpoložljivost je v bistvu sposobnost, da neuspeh na drug primerek strežnika in znova ustvarite sejo, kot da ni šlo nič narobe. Grozdenje je zmožnost ustvarjanja več različic istega strežnika za obdelavo velikega prometa.

Zaključek

Tomcat ostaja aktivno razvit, v koraku s spremembami in ponuja trdno in zanesljivo platformo za uvajanje spletnih aplikacij. Tako njegova nadaljnja priljubljenost kot izbira kot privzeta Java platforma za številne sisteme PaaS pričata o njenem stalnem uspehu.

To zgodbo "Kaj je Tomcat? Prvotni vsebnik Java servlet" je prvotno objavil JavaWorld.

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