Condivisione della tecnologia

Principio Tomcat, struttura, modello di progettazione

2024-07-12

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

1 cosa

Un server Web che esegue la tecnologia Java servlet e jsp può fornire un ambiente in esecuzione per Java Web e gestire le richieste dei client tramite il protocollo http. Questo è Tomcat = server http + contenitore servlet. Prodotti simili includono pontile

  • applicazione web : le applicazioni Web si riferiscono ad applicazioni accessibili tramite un browser Web, che utilizzano tecnologie e standard Web (come HTTP, HTML, CSS, JavaScript, ecc.) per fornire interfacce utente e interagire con gli utenti. Le applicazioni Web possono includere componenti front-end e back-end. Il front-end è responsabile dell'interfaccia utente e della presentazione, mentre il back-end è responsabile della logica aziendale e dell'elaborazione dei dati.
  • Servolet : Servlet fa parte della specifica Java EE. È un programma Java in esecuzione sul lato server. Viene utilizzato per ricevere richieste dai client (come i browser Web), elaborare tali richieste (incluso l'accesso ai database, la chiamata alla logica aziendale, ecc. ) e restituire Rispondi al client. Servlet è una delle tecnologie fondamentali per la creazione di contenuti web dinamici

2 Struttura

connettore connettore+contenitore

I contenitori sono motore, host, contesto, servlet/wrapper

Quindi l'architettura è servizio (porta 8080), connettore, motore, host (http:localhost.com), contesto (/mvc, un'applicazione web), servlet/wrapper (/add, un servlet)

Italiano: f090bd57045f4088948e1e7da63585ca.png

 

3 componenti chiave

Connettore 3.1

3.1.1 Punto finale

Utilizzato per: comunicazione a livello di rete tcp/ip, come NIONIO2

3.1.2 Processore

Utilizzato per: analisi del protocollo del livello applicativo, come http

3.1.3 Adattatore

Utilizzato per: conversione unificata. La richiesta/risposta Tomcat viene convertita in richiesta/risposta servlet e quindi passata al contenitore contenitore.

  • la richiesta servlet è un'interfaccia chiave nell'API Java Servlet.
  • L'API Java Servlet è un insieme di interfacce e classi in Java EE (ora noto come Jakarta EE) per lo sviluppo di applicazioni Java lato server. Servlet è uno dei tre componenti principali di JavaWeb (Servlet, Filter, Listener). Viene utilizzato principalmente per elaborare le richieste dei client e generare risposte.

3.2 Modelli di progettazione

3.2.1 Idee progettuali di punti variabili e punti costanti

I punti invarianti sono implementati con classi e interfacce astratte (come ProtocolHanlder, AbstractProtocol) e i punti di cambiamento sono implementati con classi concrete (come Http11NioProtocol, Http11Nio2Protocol)

Italiano: 47fd583736914b5e9911f0e38c739565.png

27e141a1618a4d7b8977cd9fc5a4f24a.png

Italiano: f646124c6f57416c8648621ea75dbfa3.png

2357e1b0231e4de2b32e8c70f79b00b6.png

6fc9747fa2b14a649d16a3e70e00650d.png

d81414cef6f5481a87660f58599c0e96.png

3.2.2 Modalità adattatore

Adattatore, Tomcat tramite CoyoteAdapter.


3.2 contenitore

3.2.1 Come gestire motore, host, contesto e servlet e utilizzare la modalità combinata per consentire a tutti di implementare il contenitore

  • Il modello composito è un modello di progettazione strutturale che consente di combinare oggetti in una struttura ad albero per rappresentare una gerarchia "parte-intero". In questa modalità, l'utilizzo da parte del client di oggetti singoli e oggetti compositi è coerente, ovvero il client può gestire i singoli oggetti e le loro combinazioni allo stesso modo.

Per dirla senza mezzi termini, una classe/interfaccia viene utilizzata per assemblare una struttura ad albero (con una relazione genitore-figlio). Questa è una combinazione e poiché implementano tutte la stessa interfaccia, le chiamate a ciascuna parte sono le stesse.Come mostrato di seguito

d785e0ea64ad4fb6952f9460fcbef154.png

3.2.2 Motore, host, contesto e servlet vengono chiamati in sequenza, utilizzando il modello di catena di responsabilità Pipeline-Valve.

La pipeline è una catena di responsabilità e una coda, e gli elementi nella coda sono valvole. La valvola può eseguire la logica di elaborazione e trasferirla al valore successivo.

La differenza tra valvola e filtro: la valvola proviene da Tomcat, il filtro proviene dall'api servlet Java. La valvola funziona a livello di contenitore web e intercetta tutte le richieste dell'applicazione. Il filtro funziona a livello di applicazione e intercetta una determinata richiesta dell'applicazione web.

08b1200a4585496e98a08c964952573a.png

3635bb9b0a7c46a1997621631c00212c.png

Italiano: acb7a18568bd41c1b4ded295aeee2060.png

d28296d8ebba41d5acc6c209df8c0538.png

3.2.3 Ciclo di vita della gestione del motore e richieste di allocazione

Richiesta di allocazione: componente del mapper di mappatura. Trova il wrapper corrispondente strato per strato in base all'URL.

Ciclo di vita: responsabile della creazione, inizializzazione, avvio, distruzione del contenitore, ecc. Ogni contenitore eredita LifeCycle. Quindi è anche una modalità combinata.

Viene utilizzato anche il modello dell'osservatore (monitoraggio dei cambiamenti nello stato del ciclo di vita),

Modalità combinata (la struttura ad albero ha una relazione genitore-figlio),

Modello di progettazione del modello (scrivere modelli universali (logica generale), chiamare nuovi metodi nel modello e implementare i nuovi metodi in modi concreti)

 

4 Progettazione dell'architettura

  1. Elenca i bisogni
  2. Corso di progettazione orientata agli oggetti
  3. Trovare i punti di domanda mutevoli e invariati
  4. I punti di cambiamento vengono implementati con classi astratte e i punti invarianti vengono implementati con classi concrete.