Mvc de primăvară - concepte de bază, arhitectură

Luați în considerare una dintre cele mai importante secțiuni ale cadrului de primăvară - MVC de primăvară.

Modulul de vizualizare a modelelor de vizualizare de tip "Spring Web" (MVC) sau controller-ul nostru de vizualizare a modelului este construit în jurul DispatcherServlet. care distribuie solicitările de către manipulanți. Configurează maparea interogărilor, localizări, fusuri orare și multe altele. Funcționatorul implicit este construit pe adnotările @Controller și @RequestMapping. care oferă o gamă largă de metode flexibile pentru procesarea cererilor. După lansarea Spring 3.0. motorul @Controller vă permite, de asemenea, să creați site-uri Web și aplicații RESTful utilizând adnotarea @PathVariable și alte caracteristici.

În MVC de primăvară Web, puteți utiliza orice obiect ca comandă sau obiect cu feedback; nu este necesar să implementați o interfață cadru specială sau o clasă de bază. Legarea datelor în primăvară este foarte flexibilă: de exemplu, aceasta tratează neconcordanțele de tip ca erori de validare și, prin urmare, poate fi procesată în aplicație, și nu ca erori de sistem. Astfel, nu este necesar să duplicați proprietățile obiectelor de afaceri, ca simple rânduri netumite pentru obiectele dvs. de formă. Prin urmare, puteți purta cu ușurință confirmări greșite (depuneri) sau le puteți converti corect în șiruri de caractere. În schimb, este de dorit să asociați astfel de obiecte direct cu obiecte logice de afaceri.

DispatcherServlet

MVC de primăvară este construită în jurul unui servlet central care distribuie interogări peste controlori și oferă și alte capabilități largi atunci când dezvoltă aplicații web. De fapt, DispatcherServlet este un servlet complet integrat în containerul IoC de primăvară și astfel are acces la toate caracteristicile de primăvară.

Solicitările de procesare în DispatcherServlet sunt prezentate în figura de mai jos. Se folosește un cititor de modele model, care recunoaște DispatcherServlet ca expresie din modelul de design frontal al controlerului.

Mvc de primăvară - concepte de bază, arhitectură

DispatcherServlet este un servlet obișnuit (moștenit de la clasa de bază HttpServlet) și trebuie să fie descris și în web.xml aplicației dvs. web. Trebuie să specificați maparea cererilor care vor fi procesate în DispatcherServlet. prin specificarea adresei URL în web.xml. Următoarea este configurația standard Java EE necesară pentru configurarea DispatcherServlet:

În cazul în care WebApplicationInitializer - interfață furnizate de primăvară MVC, care garantează inițializarea la începutul containerului.

O scurtă descriere a DispatcherServlet

Să revenim la imaginea de mai sus. La început, cererea de intrare intră în controlerul frontal (pentru noi nu este vizibil). Apoi îl redirectează către Controler. Din acest motiv, dezvoltatorul răspunde. După procesarea solicitării, se trimite un răspuns la controlerul frontal și apoi rezultatul este utilizat pentru a afișa vizualizarea. Aici este o descriere ușoară a modelului de design-view-controller. Toate acestea funcționează în containerul servlet (în imagine semnătura este Tomcat)

Un pic mai detaliat este prezentat în următoarea diagramă:

Mvc de primăvară - concepte de bază, arhitectură

Ce se arată aici?

  • În primul rând, DispatcherServlet (managerul de servlet) primește cererea, apoi se uită la setările sale pentru a înțelege ce controler să folosească (în imaginea Handler Mapping).
  • După primirea numelui controlerului, cererea este transferată la acesta (în figura Controlor). Controlorul procesează cererea și o trimite înapoi la ModelAndView (modelul este datele în sine, vizualizarea este modul de afișare a acestor date).
  • DispatcherServlet pe baza ModelAndView primit caută ce reprezentare să o folosească (View Resolver) și primește în răspuns un nume de reprezentare View
  • Datele sunt transferate în vizualizare (model) și înapoi, dacă este necesar, este trimis un răspuns din vizualizare.

Încă o dată, elementele de bază ale modelului mvc:

  • Model - reprezentare de date, date în sine
  • Afișați - vizualizați, vizualizați, afișați
  • Controller - control, comunicare între model și vedere.
Cereți ciclul de viață

Voi aduce o fotografie de pe Internet, care arată ciclul de viață al cererii. Poate că va fi mai ușor pentru cineva să înțeleagă cum sunt procesate cererile de la început până la sfârșit. În principiu, totul este același, dar se adaugă unele puncte, ale căror nume vorbesc de la sine.

Mvc de primăvară - concepte de bază, arhitectură

Poate interesant

Articole similare