Teknologian jakaminen

Tomcat-periaate, rakenne, suunnittelukuvio

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1 mitä

Web-palvelin, joka käyttää Java-servlet- ja jsp-tekniikkaa, voi tarjota käyttöympäristön java-webille ja käsitellä asiakaspyyntöjä http-protokollan kautta. Eli tomcat = http-palvelin + servlet-säilö. Vastaavia tuotteita ovat laituri

  • verkkosovellus : Verkkosovellukset viittaavat verkkoselaimen kautta käytettäviin sovelluksiin, jotka käyttävät verkkotekniikoita ja standardeja (kuten HTTP, HTML, CSS, JavaScript jne.) käyttöliittymien tarjoamiseen ja vuorovaikutukseen käyttäjien kanssa. Web-sovellukset voivat sisältää etu- ja taustakomponentteja. Käyttöliittymä vastaa käyttöliittymästä ja esittelystä ja taustaosa liiketoimintalogiikasta ja tietojenkäsittelystä.
  • Servlet : Servlet on osa Java EE -spesifikaatiota. Se on Java-ohjelma, joka toimii palvelinpuolella. Sitä käytetään pyyntöjen vastaanottamiseen asiakkailta (kuten verkkoselaimista), näiden pyyntöjen käsittelyyn (mukaan lukien tietokantoihin pääsy, liiketoimintalogiikka jne.). ), ja palauta Vastaa asiakkaalle. Servlet on yksi dynaamisen verkkosisällön rakentamisen ydintekniikoista

2 Rakenne

liitin liitin+säiliö

Säilöjä ovat moottori, isäntä, konteksti, servlet/wrapper

Arkkitehtuuri on siis palvelu (portti 8080), liitin, moottori, isäntä (http:localhost.com), konteksti (/mvc, verkkosovellus), servlet/wrapper (/add, servlet)

f090bd57045f4088948e1e7da63585ca.png

 

3 avainkomponenttia

3.1 liitin

3.1.1 Päätepiste

Käytetään: verkkokerroksen viestintään tcp/ip, kuten NIONIO2

3.1.2 Prosessori

Käytetään: sovelluskerroksen protokolla-analyysiin, kuten http

3.1.3 Sovitin

Käytetään: yhtenäistetty muuntaminen. Tomcat-pyyntö/vastaus muunnetaan servlet-pyynnöksi/vastaukseksi ja välitetään sitten konttisäiliöön.

  • servlet-pyyntö on Java Servlet API:n avainrajapinta.
  • Java Servlet API on Java EE:n (nykyisin nimellä Jakarta EE) rajapintoja ja luokkia palvelinpuolen Java-sovellusten kehittämiseen. Servlet on yksi kolmesta JavaWebin pääkomponentista (Servlet, Filter, Listener). Sitä käytetään pääasiassa asiakkaiden pyyntöjen käsittelyyn ja vastausten luomiseen.

3.2 Suunnittelumallit

3.2.1 Muutospisteiden ja vakiopisteiden suunnitteluideat

Muuttumattomat pisteet toteutetaan abstrakteilla luokilla ja liitännöillä (kuten ProtocolHanlder, AbstractProtocol) ja muutospisteet toteutetaan konkreettisilla luokilla (kuten Http11NioProtocol, Http11Nio2Protocol)

47fd583736914b5e9911f0e38c739565.png

27e141a1618a4d7b8977cd9fc5a4f24a.png

f646124c6f57416c8648621ea75dbfa3.png

2357e1b0231e4de2b32e8c70f79b00b6.png

6fc9747fa2b14a649d16a3e70e00650d.png

d81414cef6f5481a87660f58599c0e96.png

3.2.2 Sovitintila

Adapteri, tomcat ja Coyote Adapter.


3.2 kontti

3.2.1 Moottorin, isännän, kontekstin ja servlet-sovelluksen hallinta ja yhdistelmätilan käyttö, jotta ne kaikki voivat toteuttaa säilön

  • Yhdistelmäkuvio on rakenteellinen suunnittelukuvio, jonka avulla voit yhdistää objekteja puurakenteeksi edustamaan "osakokonaisuuden" hierarkiaa. Tässä tilassa asiakkaan yksittäisten objektien ja yhdistelmäobjektien käyttö on johdonmukaista, eli asiakas voi käsitellä yksittäisiä objekteja ja niiden yhdistelmiä samalla tavalla.

Suoraan sanottuna luokkaa/käyttöliittymää käytetään puurakenteen kokoamiseen (ylä-lapsi-suhteella Tämä on yhdistelmä, ja koska ne kaikki toteuttavat saman rajapinnan, kutsut jokaiselle osalle ovat samat).Kuten alla

d785e0ea64ad4fb6952f9460fcbef154.png

3.2.2 Moottoria, isäntäkonetta, kontekstia ja servlettiä kutsutaan peräkkäin käyttäen vastuullisuusmallia Pipeline-Valve.

Putkilinja on vastuuketju ja jono, ja jonon elementit ovat venttiilejä. Venttiili voi suorittaa käsittelylogiikan ja siirtää sen seuraavaan arvoon.

Ero venttiilin ja suodattimen välillä: venttiili on tomcatista, suodatin on Java servlet apista. Venttiili toimii verkkosäiliötasolla ja sieppaa kaikki sovelluspyynnöt. Suodatin toimii sovellustasolla ja sieppaa tietyn verkkosovelluspyynnön.

08b1200a4585496e98a08c964952573a.png

3635bb9b0a7c46a1997621631c00212c.png

acb7a18568bd41c1b4ded295aeee2060.png

d28296d8ebba41d5acc6c209df8c0538.png

3.2.3 Moottorinhallinnan elinkaari ja allokointipyynnöt

Kohdistuspyyntö: kartoituskartoituskomponentti. Etsi vastaava kääre kerros kerrokselta URL-osoitteen mukaan.

Elinkaari: Vastaa kontin luomisesta, alustamisesta, käynnistämisestä, tuhoamisesta jne. Jokainen kontti perii elinkaaren. Se on siis myös yhdistelmätila.

Käytetään myös tarkkailijamallia (elinkaaritilan muutosten seuranta),

Yhdistelmätila (puurakenteessa on vanhempi-lapsi-suhde),

Mallin suunnittelumalli (kirjoita universaaleja malleja (yleinen logiikka), kutsu malliin uusia menetelmiä ja toteuta uudet menetelmät konkreettisilla tavoilla)

 

4 Arkkitehtuurisuunnittelu

  1. Listaa tarpeet
  2. Olio-suunnitteluluokka
  3. Löydä kysynnän muuttuvat ja muuttumattomat kohdat
  4. Muutospisteet toteutetaan abstrakteilla luokilla ja invarianttipisteet konkreettisilla luokilla.