Programavimas

Kas yra Tomcat? Originalus „Java“ servleto konteineris

„Apache Tomcat“ yra ilgaamžis, atviro kodo „Java“ servleto talpykla, įgyvendinanti keletą pagrindinių „Java“ įmonės specifikacijų, būtent „Java Servlet“, „JavaServer Pages“ (JSP) ir „WebSockets“ API.

„Apache Software Foundation“ projektas „Tomcat“ pirmą kartą buvo išleistas 1998 m., Praėjus vos ketveriems metams po pačios „Java“. „Tomcat“ pradėjo kaip pirmojo „Java Servlet“ API ir JSP spec. Nors tai nebėra orientacinis vienos iš šių technologijų įgyvendinimas, „Tomcat“ išlieka plačiausiai naudojamas „Java“ serveris, pasižymintis gerai patikrintu ir patikrintu pagrindiniu varikliu su geru išplėtimu.

Iš šios trumpos įžangos sužinosite, kodėl daugelis programinės įrangos parduotuvių renkasi „Tomcat“ paleisti „Java“ žiniatinklio programas. Jūs gausite „Tomcat“ ir jo naudojimo apžvalgą, taip pat naujausios versijos diegimo instrukcijas šio rašymo metu.

„Tomcat“ ir „Java Servlet“ API

„Tomcat 9“ palaiko „Servlet 4.0“ specifikacijas ir reikalauja JDK 8 ar naujesnės versijos. „Tomcat 8.5“ palaiko keletą naujesnių funkcijų, pvz., HTTP / 2, tačiau išlieka „Servlet 3“ konteineris.

Koks yra „Tomcat“ serveris?

„Java“ ekosistema palaiko kelių rūšių programų serverius, todėl išskirkime juos ir pažiūrėkime, kur telpa „Tomcat“:

  • A servletų indas yra „Java Servlet“ specifikacijos įgyvendinimas, pirmiausia naudojamas „Java“ servletams priglobti.
  • A Tinklapio serveris yra serveris, skirtas aptarnauti failus iš vietinės sistemos, pvz., „Apache“.
  • A „Java“ įmonės programų serveris yra visavertis „Java EE“ (dabar - „Jakarta EE“) specifikacijos įgyvendinimas.

Širdyje „Tomcat“ yra servletas ir JSP konteineris. „Java“ servletas apima kodą ir verslo logiką bei apibrėžia, kaip turėtų būti tvarkomos užklausos ir atsakymai „Java“ serveryje. JSP yra serverio rodinio perteikimo technologija. Kaip kūrėjas, jūs rašote servletą arba JSP puslapį, tada leiskite Tomcat tvarkyti maršrutą.

„Tomcat“ taip pat yra „Coyote“ variklis, kuris yra žiniatinklio serveris. „Coyote“ dėka galima išplėsti „Tomcat“, įtraukiant įvairias „Java“ įmonės specifikacijas ir galimybes, įskaitant „Java Persistence API“ (JPA). „Tomcat“ taip pat turi išplėstinę versiją, vadinamą „TomEE“, kurioje yra daugiau įmonės funkcijų. Vėliau šiame straipsnyje trumpai pristatysiu TomEE.

Pradėkime nuo to, kaip naudoti „Tomcat“ servletams ir JSP talpinti.

Atsisiųskite ir įdiekite „Tomcat“

Būdamas senas programinės įrangos pasaulis, yra keletas „Tomcat“ versijų. Informacija apie versijų skirtumus pateikiama „Tomcat“ pagrindiniame puslapyje. Paprastai galite pasirinkti tik naujausią stabilią versiją.

Mūsų tikslais atsisiųskite naujausią „Tomcat“ versiją, kuri šiuo metu yra „Tomcat 9“. Galite pasirinkti atsisiųsti „Tomcat“ kaip archyvą (.zip arba tar.gz) arba kaip įdiegtą paslaugą. Geriausias pasirinkimas priklauso nuo jūsų - nebent, žinoma, neveikiate „Windows“, tokiu atveju eisite į archyvą. Šiam straipsniui naudosime archyvą.

„Windows“ diegimas „Tomcat“

Jei naudojate „Windows“ ir norite naudoti diegimo programą, tiesiog atsisiųskite .exe failą ir paleiskite jį. „Tomcat“ įdiegs save kaip paslaugą su pagrįstais numatytaisiais nustatymais. Tada ji informuos jus apie diegimo vietą ir galėsite tęsti taip, lyg būtumėte išpakavę archyvą ten.

1 žingsnis. Komandinės eilutės diegimas

Eikite į komandinę eilutę ir įveskite gunzip apache-tomcat-9.0.19.tar.gz paskui tar -xf apache-tomcat-9.0.19.tar. Tai sukuria šiuos katalogus:

  • / bin yra Tomcat vykdymo scenarijai.
  • / webapps yra vieta, kur diegsite savo programas.
  • / rąstai yra vieta, kur „Tomcat“ pateikia savo žurnalus. Atkreipkite dėmesį, kad Tomcato žurnalai eina /logs/catalina.out pagal nutylėjimą. Galite naudoti šį failą derindami problemas kartu su konkrečių programų žurnalo failais.
  • / lib yra kur Tomcat ieško JAR. Čia laikysite papildomus paketus, kurie nėra įtraukti į „Tomcat“, pvz., JPA.
  • / konf yra „Tomcat“ konfigūravimo XML, kuriame galite atlikti tokius veiksmus kaip pridėti „Tomcat“ vartotojų ir vaidmenų.

2 žingsnis. Paleiskite „Tomcat“

Jei „Tomcat“ įdiegėte kaip paslaugą, ji jau veikia. Priešingu atveju eikite į priekį ir pradėkite jį įvesdami ./catalina.sh pradžia komandinėje eilutėje. (Tipas ./catalina.sh be jokių argumentų matyti visas galimas komandas). Dabar turėtumėte galėti naršyti „Tomcat“ sveikinimo ekrane.

Matthew Tysonas

Programų diegimas „Tomcat“

Tomcato žiniatinklio programos katalogas yra vieta, kur diegiate programą. Galite mesti a .karas failą ir „Tomcat“ jį paleis. WAR failas yra standartinė žiniatinklio programų išteklių pakuotė: JAR failas su keletu papildomų failų, nurodančių konteineriui (šiuo atveju „Tomcat“), kaip jį paleisti.

Be standartinės pakuotės, yra trys papildomi būdai, kaip įdiegti turinį „Tomcat“.

Susprogdinta dislokacija

„Sprogusi“ žiniatinklio programa yra programa, kuri nėra suspausta į WAR failą, vadinasi, joje vis tiek yra visi kataloguose ir failuose išdėstyti elementai. Išpakuotame „Tomcat“ archyve buvo pristatyti keli tokiu būdu išdėstyti pavyzdžiai, kuriuos rasite / webapps / pavyzdžiai kataloge. Sprogusio diegimo pranašumas yra tas, kad galite peržiūrėti ten esančius failus nesijaudindami dėl glaudinimo.

Jei naršote // localhost: 8080 / pavyzdžiai /, rasite nuorodų sąrašą. Šį puslapį pateikė Tomcat iš /webapps/examples/index.html failą. „Tomcat“ teikia HTML failą iš failų sistemos, tai yra „Tomcat“ „Coyote“ variklio, veikiančio kaip interneto serveris, pavyzdys.

Galite laisvai tyrinėti pateiktus pavyzdžius - jie suteikia jums gerą Tomcat galimybių aptarnauti servletus, JSP ir „WebSockets“ galimybes apžvalgą.

„Tomcat“ taip pat pagal numatytuosius nustatymus apima valdymo programą, esančią / vadybininkas kelias. Be kita ko, ši programa leidžia paleisti, sustabdyti ir pertvarkyti programas iš žiniatinklio pulto.

Pateikiamas statinis turinys

Failus galima pateikti iš failų sistemos arba persiųsti iš „Tomcat“ į kitą HTTP serverį, pvz., „Apache“. Kita įprasta sąranka yra įdėti failų serverį, pvz., „Apache“ arba „Nginx“, priešais „Tomcat“, tada persiųsti savo API užklausas į „Tomcat“. Tokiais atvejais mod_JK biblioteka naudojama konfigūruoti „Tomcat“ ir „Apache“ (ar net kitą interneto serverį, pvz., IIS), kad jie galėtų bendrauti.

Norėdamas pagerinti našumą, visų pirma teikdamas statinį turinį, „Tomcat“ taip pat siūlo „Windows“ ir „Linux“ vietinius paketus. Tai žinoma kaip „Tomcat“ balandis ir daugiau informacijos rasite čia. Tai nėra būtina įprasto naudojimo atvejais, tačiau apie tai verta žinoti.

Įterptasis „Tomcat“

Ilgą laiką „Jetty“ buvo vienintelis serveris, galintis veikti kaip įterptasis serveris. Tai pasikeitė, ir dabar „Tomcat“ taip pat gali veikti įterptųjų. Įterptojo serverio naudojimo idėja yra ta, kad vietoj serverio, kuriame yra programos failai, kaip matėte iki šiol, turite programą su pagrindine klase (tai yra atskira „Java“ programa), kuri naudojasi serverio galimybėmis iš jos kodo bazėje. Apskritai tai siūlo paprastesnį ir nešiojamąjį plėtros modelį ir greitai tapo norma. Pavyzdžiui, „Spring Boot“ naudoja įterptąjį „Tomcat“ egzempliorių, veikiantį „dev“ režimu.

Įterptojo serverio paleidimas gali būti paprastas operacijų požiūriu, nes dabar jūs dirbate tik su vienu komponentu (programa), o ne su programa ir serverio diegimu. Kita vertus, sąranka, kurioje „Tomcat“ veikia kaip nepriklausomas kompiuteris, vis dar yra labai paplitusi.

TomEE

Su Tomcat galima naudoti daugiau standartinių „Java EE“ (arba „Jakarta EE“) galimybių, pridedant tas bibliotekas prie paties „Tomcat“ arba prie jūsų programų priklausomybių. Kitas variantas yra „TomEE“ serveris. „TomEE“ yra tas pats „Tomcat“ variklis, turintis papildomą „Java“ įmonės palaikymą, įskaitant populiarias JPA ir CDI („Contexts and Dependency Injection“) API. „TomEE“ specifikacija yra pagrįsta „Java EE“ žiniatinklio profiliu, taigi ji suteikia jums daugiau nei „Tomcat“, tačiau nėra pilnavertis „Java EE“ programų serveris, kaip „WildFly“ ar „Glassfish“.

Didelis prieinamumas ir grupavimas

„Tomcat“ palaiko aukštą prieinamumą ir grupavimą. Didelis prieinamumas iš esmės yra galimybė nesėkmė į kitą serverio egzempliorių ir sukurkite sesiją iš naujo, tarsi nieko nebūtų blogai. Grupavimas yra galimybė sukurti kelias to paties serverio versijas, kad būtų galima tvarkyti didelės apimties srautą.

Išvada

„Tomcat“ išlieka aktyviai tobulinamas, neatsilieka nuo pokyčių ir teikia tvirtą ir patikimą platformą žiniatinklio programoms diegti. Tiek nuolatinis populiarumas, tiek pasirinkimas kaip numatytoji „Java“ platforma daugeliui „PaaS“ sistemų byloja apie nuolatinę jos sėkmę.

Šią istoriją „Kas yra„ Tomcat “? Originalus„ Java “servleto konteineris“ iš pradžių paskelbė „JavaWorld“.

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