Κοινή χρήση τεχνολογίας

Αρχή Tomcat, δομή, σχέδιο σχεδίασης

2024-07-12

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

1 τι

Ένας διακομιστής ιστού που εκτελεί την τεχνολογία java servlet και jsp, μπορεί να παρέχει ένα περιβάλλον λειτουργίας για java web και να χειρίζεται αιτήματα πελατών μέσω του πρωτοκόλλου http. Αυτό είναι tomcat = διακομιστής http + κοντέινερ servlet. Παρόμοια προϊόντα περιλαμβάνουν προβλήτα

  • εφαρμογή ιστού : Οι εφαρμογές Ιστού αναφέρονται σε εφαρμογές στις οποίες έχει πρόσβαση μέσω προγράμματος περιήγησης Ιστού, οι οποίες χρησιμοποιούν τεχνολογίες και πρότυπα Ιστού (όπως HTTP, HTML, CSS, JavaScript, κ.λπ.) για την παροχή διεπαφών χρήστη και την αλληλεπίδραση με τους χρήστες. Οι εφαρμογές Ιστού μπορούν να περιλαμβάνουν στοιχεία front-end και back-end Το front-end είναι υπεύθυνο για τη διεπαφή χρήστη και την παρουσίαση και το back-end είναι υπεύθυνο για την επιχειρηματική λογική και την επεξεργασία δεδομένων.
  • Servlet : Το Servlet είναι μέρος της προδιαγραφής Java EE Είναι ένα πρόγραμμα Java που εκτελείται από την πλευρά του διακομιστή. Χρησιμοποιείται για τη λήψη αιτημάτων από πελάτες (όπως προγράμματα περιήγησης ιστού), την επεξεργασία αυτών των αιτημάτων (συμπεριλαμβανομένης της πρόσβασης σε βάσεις δεδομένων, της λογικής κλήσης κ.λπ. ), και επιστρέψτε την απάντηση στον πελάτη. Το Servlet είναι μια από τις βασικές τεχνολογίες για τη δημιουργία δυναμικού περιεχομένου Ιστού

2 Δομή

σύνδεσμος σύνδεσμος + δοχείο

Τα κοντέινερ είναι η μηχανή, ο κεντρικός υπολογιστής, το πλαίσιο, το servlet/wrapper

Έτσι, η αρχιτεκτονική είναι υπηρεσία (θύρα 8080), σύνδεσμος, μηχανή, κεντρικός υπολογιστής (http:localhost.com), περιβάλλον (/mvc, μια εφαρμογή Ιστού), servlet/wrapper (/add, servlet)

f090bd57045f4088948e1e7da63585ca.png

 

3 βασικά στοιχεία

3.1 βύσμα

3.1.1 Τελικό σημείο

Χρησιμοποιείται για: επικοινωνία επιπέδου δικτύου tcp/ip, όπως το NIONIO2

3.1.2 Επεξεργαστής

Χρησιμοποιείται για: ανάλυση πρωτοκόλλου επιπέδου εφαρμογής, όπως http

3.1.3 Προσαρμογέας

Χρησιμοποιείται για: ενοποιημένη μετατροπή. Το αίτημα/απόκριση Tomcat μετατρέπεται σε αίτημα/απόκριση servlet και στη συνέχεια μεταβιβάζεται στο κοντέινερ.

  • Το αίτημα servlet είναι μια βασική διεπαφή στο Java Servlet API.
  • Το Java Servlet API είναι ένα σύνολο διεπαφών και κλάσεων στο Java EE (τώρα γνωστό ως Jakarta EE) για την ανάπτυξη εφαρμογών Java από την πλευρά του διακομιστή. Το Servlet είναι ένα από τα τρία κύρια στοιχεία του JavaWeb (Servlet, Filter, Liner) Χρησιμοποιείται κυρίως για την επεξεργασία αιτημάτων πελατών και τη δημιουργία απαντήσεων.

3.2 Σχεδιαστικά μοτίβα

3.2.1 Σχεδιάστε ιδέες για μεταβαλλόμενα σημεία και σταθερά σημεία

Τα αμετάβλητα σημεία υλοποιούνται με αφηρημένες κλάσεις και διεπαφές (όπως ProtocolHanlder, AbstractProtocol) και τα σημεία αλλαγής υλοποιούνται με συγκεκριμένες κλάσεις (όπως Http11NioProtocol, Http11Nio2Protocol)

47fd583736914b5e9911f0e38c739565.png

27e141a1618a4d7b8977cd9fc5a4f24a.png

f646124c6f57416c8648621ea75dbfa3.png

2357e1b0231e4de2b32e8c70f79b00b6.png

6fc9747fa2b14a649d16a3e70e00650d.png

d81414cef6f5481a87660f58599c0e96.png

3.2.2 Λειτουργία προσαρμογέα

Προσαρμογέας, Tomcat用CoyoteAdapter.


3.2 δοχείο

3.2.1 Πώς να διαχειριστείτε τη μηχανή, τον κεντρικό υπολογιστή, το περιβάλλον και το servlet και να χρησιμοποιήσετε τη λειτουργία συνδυασμού για να τους επιτρέψετε να υλοποιήσουν το Container

  • Το Σύνθετο Μοτίβο είναι ένα δομικό μοτίβο σχεδίασης που σας επιτρέπει να συνδυάσετε αντικείμενα σε μια δομή δέντρου για να αντιπροσωπεύσετε μια ιεραρχία "μέρος-ολόκληρο". Σε αυτήν τη λειτουργία, η χρήση μεμονωμένων αντικειμένων και σύνθετων αντικειμένων από τον πελάτη είναι συνεπής, δηλαδή, ο πελάτης μπορεί να χειριστεί μεμονωμένα αντικείμενα και τους συνδυασμούς τους με τον ίδιο τρόπο.

Για να το θέσουμε ωμά, μια κλάση/διεπαφή χρησιμοποιείται για τη συναρμολόγηση μιας δομής δέντρου (με μια σχέση γονέα-παιδιού Αυτός είναι ένας συνδυασμός και επειδή όλα υλοποιούν την ίδια διεπαφή, οι κλήσεις σε κάθε τμήμα είναι ίδιες).Οπως φαίνεται παρακάτω

d785e0ea64ad4fb6952f9460fcbef154.png

3.2.2 Ο κινητήρας, ο κεντρικός υπολογιστής, το περιβάλλον και το servlet καλούνται διαδοχικά, χρησιμοποιώντας το μοντέλο αλυσίδας ευθύνης Pipeline-Valve.

Ο αγωγός είναι μια αλυσίδα ευθύνης και μια ουρά, και τα στοιχεία στην ουρά είναι βαλβίδες. Η βαλβίδα μπορεί να εκτελέσει τη λογική επεξεργασίας και να τη μεταφέρει στην επόμενη τιμή.

Η διαφορά μεταξύ βαλβίδας και φίλτρου: η βαλβίδα είναι από την Tomcat, το φίλτρο είναι από το java servlet api. Η βαλβίδα λειτουργεί σε επίπεδο κοντέινερ Ιστού και παρεμποδίζει όλες τις αιτήσεις εφαρμογής Το φίλτρο λειτουργεί σε επίπεδο εφαρμογής και παρεμποδίζει ένα συγκεκριμένο αίτημα εφαρμογής Ιστού.

08b1200a4585496e98a08c964952573a.png

3635bb9b0a7c46a1997621631c00212c.png

acb7a18568bd41c1b4ded295aeee2060.png

d28296d8ebba41d5acc6c209df8c0538.png

3.2.3 Αιτήματα κύκλου ζωής και κατανομής διαχείρισης κινητήρα

Αίτημα κατανομής: στοιχείο χαρτογράφησης. Βρείτε το αντίστοιχο περιτύλιγμα στρώμα ανά στρώμα σύμφωνα με τη διεύθυνση URL.

Κύκλος ζωής: Υπεύθυνος για τη δημιουργία κοντέινερ, την προετοιμασία, την εκκίνηση, την καταστροφή κ.λπ. Κάθε κοντέινερ κληρονομεί τον Κύκλο Ζωής. Επομένως, είναι επίσης μια λειτουργία συνδυασμού.

Χρησιμοποιείται επίσης το πρότυπο παρατηρητή (παρακολούθηση αλλαγών στην κατάσταση του κύκλου ζωής),

Λειτουργία συνδυασμού (η δομή του δέντρου έχει σχέση γονέα-παιδιού),

Μοτίβο σχεδίασης προτύπων (γράψτε καθολικά πρότυπα (γενική λογική), καλέστε νέες μεθόδους στο πρότυπο και εφαρμόστε τις νέες μεθόδους με συγκεκριμένους τρόπους)

 

4 Αρχιτεκτονικός σχεδιασμός

  1. Κατάλογος αναγκών
  2. Κατηγορία αντικειμενοστρεφούς σχεδιασμού
  3. Βρείτε τα μεταβαλλόμενα και αμετάβλητα σημεία ζήτησης
  4. Τα σημεία αλλαγής υλοποιούνται χρησιμοποιώντας αφηρημένες κλάσεις και τα αμετάβλητα σημεία υλοποιούνται χρησιμοποιώντας συγκεκριμένες κλάσεις.