the Spring Web MVC framework ger Modell-View-Controller (MVC) arkitektur och färdiga komponenter som kan användas för att utveckla flexibel och löst kopplade webbapplikationer. MVC-mönstret resulterar i att skilja de olika aspekterna av applikationen (inmatningslogik, affärslogik och UI-logik), samtidigt som det ger en lös koppling mellan dessa element.,
-
modellen inkapslar applikationsdata och i allmänhet kommer de att bestå av POJO.
-
vyn är ansvarig för att rendera modelldata och i allmänhet genererar HTML-utdata som klientens webbläsare kan tolka.
-
styrenheten ansvarar för att behandla användarförfrågningar och bygga en lämplig modell och skickar den till vyn för rendering.
Sändarservlet
ramverket Spring Web model-view-controller (MVC) är utformat kring en Avsändareservlet som hanterar alla HTTP-förfrågningar och svar., Arbetsflödet för hantering av begäran av Spring Web MVC −avsändaren illustreras i följande diagram –
Följande är sekvensen av händelser som motsvarar en inkommande HTTP −begäran till DispatcherServlet –
-
Efter att ha fått en HTTP-begäran konsulterar DispatcherServlet HandlerMapping för att ringa lämplig kontroller.
-
regulatorn tar begäran och anropar lämpliga servicemetoder baserat på Använd GET-eller POSTMETOD., Servicemetoden anger modelldata baserat på definierad affärslogik och returnerar visningsnamn till avsändaren.
-
avsändaren tar hjälp från ViewResolver att hämta den definierade vyn för begäran.
-
när vyn är slutförd, skickar avsändaren modelldata till vyn som slutligen återges i webbläsaren.
alla ovannämnda komponenter, dvs., HandlerMapping, Controller, och ViewResolver är delar av WebApplicationContext w som är en förlängning av den plainApplicationContext med lite extra funktioner som är nödvändiga för webbapplikationer.
obligatorisk konfiguration
Du måste kartlägga förfrågningar som du vill att avsändaren ska hantera, genom att använda en URL-mappning på webben.xml-fil. Följande är ett exempel för att visa deklaration och mappning för helloweb DispatcherServlet exempel −
webben.xml-fil kommer att hållas i WebContent / WEB-INF katalogen i din webbapplikation., Vid initiering av HelloWeb-Avsändareservlet försöker ramverket ladda applikationskontexten från en fil som heter-servlet.xml ligger i programmets WebContent / WEB-INFdirectory. I det här fallet kommer vår akt att vara HelloWebservlet.xml.
nästa,<servlet-mapping> – taggen anger vilka webbadresser som ska hanteras av vilken avsändare. Här slutar alla HTTP-förfrågningar med .jsp kommer att hanteras av HelloWeb DispatcherServlet.
om du inte vill gå med standardfilnamn som-servlet.,xml och standardplats som WebContent / WEB-INF, kan du anpassa detta filnamn och plats genom att lägga till servlet listener ContextLoaderListener i webben.xml −fil enligt följande –
nu, låt oss Kontrollera önskad konfiguration för HelloWeb-servlet.xml-fil, placerad i webbapplikationens WebContent/WEB −INF-katalog –
Följande är de viktiga punkterna om HelloWeb-servlet.xml-fil
-
– servlet.xml-fil kommer att användas för att skapa de bönor som definieras, åsidosätter definitionerna av alla bönor som definieras med samma namn i den globala omfattningen.,
-
<context:component-scan…> – taggen kommer att använda för att aktivera Spring MVC kommentar scanning som gör det möjligt att använda sig av anteckningar som @Controller och @RequestMapping etc.
-
InternalResourceViewResolver kommer att ha regler definierade för att lösa visningsnamnen. Enligt ovanstående definierad regel delegeras en logisk vy som heter hello till en vyimplementering som finns på / WEB-INF/jsp / hello.jsp .
följande avsnitt visar hur du skapar dina faktiska komponenter, dvs.,, Controller, modell, och visa.
definiera en styrenhet
avsändaren delegerar begäran till styrenheterna att utföra den funktionalitet som är specifik för den. @Controllerannotation indikerar att en viss klass tjänar rollen som en kontroller. Anteckningen @RequestMapping används för att mappa en URL till antingen en hel klass eller en viss hanteringsmetod.
@Controller anteckningen definierar klassen som en fjäder MVC controller. Här indikerar den första användningen av @RequestMapping att alla hanteringsmetoder på denna kontroller är i förhållande till / hello-sökvägen., Nästa anteckning@RequestMapping (metod = RequestMethod.GET) används för att deklarera theprintHello () – metoden som regulatorns standardtjänstmetod för att hantera HTTP GET-förfrågan. Du kan definiera en annan metod för att hantera alla inlägg begäran på samma webbadress.
Du kan skriva ovanstående kontroller i en annan form där du kan lägga till ytterligare attribut i @RequestMapping enligt följande −
värdeattributet anger webbadressen till vilken hanteringsmetoden mappas och metodattributet definierar servicemetoden för att hantera HTTP GET-förfrågan., Följande viktiga punkter ska noteras om den kontrollenhet som definieras ovan –
-
Du kommer att definiera nödvändig affärslogik i en servicemetod. Du kan ringa en annan metod inom denna metod enligt krav.
-
baserat på den affärslogik som definieras kommer du att skapa en modell inom den här metoden. Du kan använda setter olika modellattribut och dessa attribut kommer att nås av vyn för att presentera slutresultatet. Detta exempel skapar en modell med dess attribut ”meddelande”.,
-
en definierad servicemetod kan returnera en sträng som innehåller namnet på vyn som ska användas för att rendera modellen. Detta exempel returnerar ” hej ” som logiskt visningsnamn.
skapa JSP vyer
Spring MVC stöder många typer av vyer för olika presentationsteknik. Dessa inkluderar-JSPs, HTML, PDF, Excel kalkylblad, XML, hastighet mallar, XSLT, JSON, Atom och RSS-flöden, Jasper, etc. Men oftast använder vi JSP mallar skrivna med JSTL.
låt oss skriva en enkel hello view in/WEB-INF/hello / hello.,jsp –
<html> <head> <title>Hello Spring MVC</title> </head> <body> <h2>${message}</h2> </body></html>
här ${message} är attributet som vi har ställt in inuti regulatorn. Du kan ha flera attribut som ska visas i vyn.
Spring Web MVC Framework Examples
baserat på ovanstående begrepp, låt oss kolla några viktiga exempel som hjälper dig att bygga din våren webbapplikationer −
Sr.No. – herr talman!, | exempel& beskrivning |
---|---|
1 | Spring MVC Hello World Example
det här exemplet förklarar hur man skriver en enkel Spring Web Hello World application. |
2 | Spring MVC Form Handling exempel
detta exempel kommer att förklara hur man skriver en vår webbapplikation med hjälp av HTML-formulär för att skicka in data till regulatorn och visa ett bearbetat resultat. |
3 | Spring Page Redirection Example
lär dig hur du använder page redirection functionality I Spring MVC Framework., |
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. |