Våren Web MVC-rammeverket gir Model-View-Controller (MVC) arkitektur og klar komponenter som kan brukes til å utvikle fleksible og løst koplet web-applikasjoner. Den MVC-pattern resultater i å skille de forskjellige aspekter av programmet (inngang logikk, forretningslogikk, og UI logikk), samtidig som det gir en løs kobling mellom disse elementene.,
-
Modellen omslutter applikasjonen data og generelt vil de bestå av POJO.
-
Vis er ansvarlig for gjengivelse av modellen data og generelt genererer HTML-utdata at klientens nettleser kan tolke.
-
Den behandlingsansvarlige er ansvarlig for å behandle brukerens ønsker og behov og bygge en egnet modell og sender den til å vise for gjengivelse.
DispatcherServlet
Våren Web-model-view-controller (MVC) rammen er designet rundt en DispatcherServlet som håndterer alle HTTP-forespørsler og svar., Request-prosessering arbeidsflyt av Våren Web MVC DispatcherServlet er illustrert i følgende diagram −
– >
Følgende sekvens av hendelser som svarer til en innkommende HTTP-forespørsel til DispatcherServlet −
– >
-
Etter å ha mottatt en HTTP-forespørsel, DispatcherServlet konsulterer HandlerMapping å ringe den aktuelle Kontrolleren.
-
Kontrolleren tar forespørsel og kaller den aktuelle tjeneste-metoder basert på brukt GET eller POST-metoden., Tjenesten metoden vil angi modell-data basert på definerte forretningslogikk og returnerer vise navnet til DispatcherServlet.
-
DispatcherServlet vil ta hjelp fra ViewResolver å pickup definert visning etter avtale.
-
Når visningen er sluttført, DispatcherServlet passerer modell data til den oppfatning som til slutt gjengis på nettleseren.
Alle de ovennevnte komponentene, dvs., HandlerMapping, Controller, og ViewResolver er deler av WebApplicationContext w som er en forlengelse av plainApplicationContext med noen ekstra funksjoner som er nødvendige for web-applikasjoner.
Nødvendig Konfigurasjon
Du trenger til kart ber om at du ønsker DispatcherServlet å håndtere, ved å bruke en URL-kartlegging i nettet.xml-fil. Følgende er et eksempel for å vise erklæring og kartlegging for HelloWeb DispatcherServlet eksempel −
– >
nettet.xml-filen vil bli holdt i WebContent/WEB-INF-mappen i din web-applikasjon., Ved initialisering av HelloWeb DispatcherServlet, rammeverket vil prøve å laste inn programmet kontekst av en fil som heter -servleten.xml ligger i programmets WebContent/WEB-INFdirectory. I dette tilfellet, vår filen vil bli HelloWebservlet.xml.
Neste <servlet-mapping> – koden angir hvilke Nettadresser vil bli behandlet som DispatcherServlet. Her er alle HTTP-forespørsler slutter med .jsp vil bli håndtert av HelloWeb DispatcherServlet.
Hvis du ikke ønsker å gå med standard filnavn som -servleten.,xml og standard plassering som WebContent/WEB-INF, kan du tilpasse denne filen navnet og plasseringen ved å legge til servlet lytteren ContextLoaderListener i din nettleser.xml-filen som følger −
– >
Nå, la oss sjekke den nødvendige konfigurasjonen for HelloWeb-servleten.xml-fil, som er plassert i din web-applikasjon er WebContent/WEB-INF katalogen −
– >
Følgende er de viktigste punktene om HelloWeb-servleten.xml-fil −
– >
-
– servleten.xml-filen vil bli brukt til å opprette bønner definert, overordnede definisjoner av alle bønner som er definert med samme navn i den globale omfang.,
-
<kontekst:komponent-scan…> – tag-en vil bruke til å aktivere Spring MVC kommentar skanning evne som gjør det mulig å gjøre bruk av kommentarer som @Kontrolleren og @RequestMapping etc.
-
InternalResourceViewResolver vil ha regler som er definert til å løse vise navn. Som angitt ovenfor er definert regel en logisk vis heter hei er delegert til en visning gjennomføring ligger på /WEB-INF/jsp/hei.jsp .
følgende avsnittet vil vise deg hvordan du oppretter din faktiske komponentene, dvs.,, Controller, Modell, og Vis.
Definere en Controller
DispatcherServlet delegerer forespørsel til kontrollerne til å utføre den funksjonalitet som er spesifikke for det. Den @Controllerannotation indikerer at en bestemt klasse serverer rollen som en kontroller. Den @RequestMapping kommentar som brukes til å tilordne en URL til en hel klasse eller en bestemt handler metode.
@Kontrolleren kommentar definerer klassen som en Spring MVC-kontrolleren. Her er den første bruk av @RequestMapping indikerer at all håndtering metoder på denne kontrolleren er relativ til den /hei banen., Neste kommentar@RequestMapping(metode = RequestMethod.FÅ) brukes til å erklære theprintHello () – metoden som kontroller er standard service metode for å håndtere HTTP GET-forespørsel. Du kan angi en annen metode for å håndtere alle POST-forespørsel på samme NETTADRESSE.
Du kan skrive over kontrolleren i et annet skjema der du kan legge til flere attributter i @RequestMapping som følger −
– >
verdien attributtet angir URL-adressen som handler metoden er kartlagt og metode attributtet definerer tjenesten metode for å håndtere HTTP GET-forespørsel., Følgende viktig poeng er å være oppmerksom på om kontrolleren er definert ovenfor, −
– >
-
Du vil angi de nødvendige forretningslogikk inne i en tjeneste metode. Du kan ringe til en annen metode inne i denne metoden som per kravet.
-
Basert på forretningslogikken er definert, vil du lage en modell i denne metoden. Du kan bruke fuglehunden annen modell attributter og disse egenskapene vil bli tilgjengelig ved visning av å presentere det endelige resultatet. I dette eksemplet opprettes en modell med sine attributtet «melding».,
-
En definert tjeneste kan metoden returnerer en String som inneholder navn i visningen for å bli brukt til å gjengi modell. Dette eksemplet returnerer «hei» som logisk vis navn.
Opprette JSP Utsikt
Spring MVC støtter mange typer visninger for ulike presentasjon teknologier. Disse inkluderer – jsp-er, HTML, PDF, Excel regneark, XML, Hastighet maler, XSLT, JSON, Atom og RSS-feeder, JasperReports, etc. Men som oftest bruker vi JSP-maler som er skrevet med JSTL.
La oss skrive en enkel hei vise i /WEB-INF/hallo/hallo.,jsp −
– >
<html> <head> <title>Hello Spring MVC</title> </head> <body> <h2>${message}</h2> </body></html>
Her ${message} er en egenskap som vi har satt opp inne i Kontrolleren. Du kan ha flere attributter som skal vises i visningen.
Spring Web MVC-Rammeverk Eksempler
Basert på de ovennevnte begrepene, la oss sjekke noen viktige eksempler som vil hjelpe deg å bygge din Spring Web-Applikasjoner −
– >
Sr Nr., | Eksempel & Beskrivelse |
---|---|
1 | Spring MVC Hello World Eksempel
Dette eksemplet vil forklare hvordan å skrive en enkel Våren Web Hello World program. |
2 | Spring MVC Form Håndtering Eksempel
Dette eksemplet vil forklare hvordan å skrive en Spring Web-applikasjon ved hjelp av HTML-skjemaer for å sende data til kontrolleren og vise en behandlet resultat. |
3 | Spring Side Omdirigering Eksempel
Lær hvordan du bruker siden omdirigering funksjonalitet i Spring MVC-Rammeverket., |
4 | Spring Static Pages Example
Learn how to access static pages along with dynamic pages in Spring MVC Framework. |
5 | Spring Exception Handling Example
Learn how to handle exceptions in Spring MVC Framework. |