Spring Web MVC framework poskytuje Model-View-Controller (MVC) architektura a připravené komponenty, které mohou být použit k vytvoření flexibilní a volně provázaných webových aplikací. MVC vzor výsledky v oddělující různé aspekty aplikace (logika vstupu, obchodní logika a logika UI), a zároveň poskytuje volné vazby mezi těmito prvky.,
-
Model zapouzdří aplikační data a obecně se budou skládat z POJO.
-
pohled je zodpovědný za vykreslování dat modelu a obecně generuje výstup HTML, který může prohlížeč klienta interpretovat.
-
regulátor je zodpovědný za zpracování uživatelských požadavků a vytváření vhodného modelu a předává jej zobrazení pro vykreslování.
DispatcherServlet
Jarní Webové model-view-controller (MVC) rámec je navržen tak, kolem DispatcherServlet, který zpracovává všechny HTTP požadavky a odpovědi., Žádost zpracování workflow Spring Web MVC DispatcherServlet je znázorněn v následujícím diagramu.
Následující sled událostí odpovídající příchozí HTTP požadavek na DispatcherServlet −
-
Po obdržení požadavku HTTP, DispatcherServlet konzultuje HandlerMapping volat odpovídající Regulátor.
-
Správce přijme požadavek a zavolá příslušné servisní metody založené na použité metodě GET nebo POST., Servisní metoda nastaví data modelu na základě definované obchodní logiky a vrátí název zobrazení dispečerům.
-
dispečeři si vyžádají pomoc od Viewresolveru k vyzvednutí definovaného zobrazení žádosti.
-
jakmile je zobrazení dokončeno, dispečeři předají data modelu do zobrazení, které je nakonec vykresleno v prohlížeči.
všechny výše uvedené komponenty, tj., HandlerMapping, Regulátor, a ViewResolver jsou částí WebApplicationContext w, což je rozšíření plainApplicationContext s některé další funkce, nezbytné pro webové aplikace.
požadovaná konfigurace
musíte mapovat požadavky, které chcete dispečerům zpracovat, pomocí mapování URL na webu.xml soubor. Následuje příklad zobrazení deklarace a mapování pro HelloWeb DispatcherServlet example –
the web.soubor xml bude uložen v adresáři WebContent/WEB-INF vaší webové aplikace., Po inicializaci HelloWeb Dispečerůservlet se framework pokusí načíst kontext aplikace ze souboru s názvem-servlet.xml Nachází se v aplikaci WebContent/WEB-INFdirectory. V tomto případě bude náš soubor HelloWebservlet.datum.
Další <servlet-mapping> tag ukazuje, jaké Url bude zpracována které DispatcherServlet. Zde končí všechny HTTP požadavky .jsp bude obsluhovat dispečeři Hellowebu.
Pokud nechcete jít s výchozím názvem souboru jako-servlet.,xml a výchozí umístění jako WebContent / WEB-INF, můžete přizpůsobit tento název souboru a umístění přidáním Servlet posluchač ContextLoaderListener ve vašem webu.XML soubor takto –
Nyní, pojďme zkontrolovat požadovanou konfiguraci pro HelloWeb-servlet.xml soubor, umístěný v adresáři WebContent/WEB-INF –
následující jsou důležité body o HelloWeb-servlet.soubor xml-
-
the-servlet.XML soubor bude použit k vytvoření fazole definované, převažující definice všech fazolí definovaných se stejným názvem v globálním rozsahu.,
-
<kontext: component-scan…> tag bude použit k aktivaci funkce skenování anotace Spring MVC, která umožňuje využívat anotace jako @ Controller a @RequestMapping atd.
-
InternalResourceViewResolver bude mít pravidla definovaná pro vyřešení názvů zobrazení. Podle výše definovaného pravidla je logický pohled s názvem hello delegován na implementaci zobrazení umístěnou na / WEB-INF/jsp / hello.Linux .
následující část vám ukáže, jak vytvořit své skutečné komponenty, tj.,, Řadič, Model a pohled.
Definování Řadič
DispatcherServlet deleguje požadavek, aby správci k výkonu funkce specifické pro to. @Controllerannotation označuje, že určitá třída slouží roli regulátoru. Anotace @ RequestMapping se používá k mapování adresy URL na celou třídu nebo konkrétní metodu handleru.
anotace @Controller definuje třídu jako jarní řadič MVC. Zde první použití @RequestMapping znamená, že všechny metody manipulace na tomto ovladači jsou relativní k cestě / hello., Další anotace@RequestMapping (method = RequestMethod.GET) se používá k deklaraci metody theprintHello () jako výchozí servisní metody regulátoru pro zpracování požadavku HTTP GET. Můžete definovat jinou metodu, jak zpracovat jakýkoli požadavek na příspěvek na stejné adrese URL.
můžete psát na výše uvedené správce v další formulář, kde můžete přidat další atributy v @RequestMapping takto −
hodnota atributu určuje adresu URL, na kterou handler metoda je mapována a metoda, atribut definuje službu metoda zvládnout HTTP GET požadavek., Následující důležité body, je třeba poznamenat, o controller je definováno výše −
-
bude definovat potřebné obchodní logiky uvnitř metoda služby. V této metodě můžete volat jinou metodu podle požadavku.
-
na základě definované obchodní logiky vytvoříte model v rámci této metody. Můžete použít setter různé atributy modelu a tyto atributy budou přístupné zobrazení prezentovat konečný výsledek. Tento příklad vytvoří model s atributem „zpráva“.,
-
definované služby, metoda může vrátit Řetězec, který obsahuje název zobrazení pro vykreslení modelu. Tento příklad vrací „Ahoj“ jako logický název zobrazení.
vytváření zobrazení JSP
Spring MVC podporuje mnoho typů zobrazení pro různé prezentační technologie. Patří mezi ně-JSPs, HTML, PDF, Excel listy, XML, Rychlost šablony, XSLT, JSON, Atom a RSS kanály, JasperReports, atd. Nejčastěji však používáme šablony JSP napsané s JSTL.
napište nám jednoduchý hello view in / WEB-INF / hello / hello.,jsp –
<html> <head> <title>Hello Spring MVC</title> </head> <body> <h2>${message}</h2> </body></html>
zde $ {message} je atribut, který jsme nastavili uvnitř ovladače. Můžete mít více atributů, které mají být zobrazeny uvnitř vašeho pohledu.
Spring Web MVC Framework Příklady
na Základě výše uvedených konceptů, pojďme zkontrolovat několik důležitých příkladů, které vám pomohou v budování vašeho Jaro Webových Aplikací −
Sr Ne., | Příklad: & Popis |
---|---|
1 | Spring MVC Hello World Příklad
Tento příklad vysvětluje, jak napsat jednoduchý Jaro Web Hello World aplikace. |
2 | Spring MVC form Handling Example
tento příklad vysvětlí, jak napsat jarní webovou aplikaci pomocí HTML formulářů k odeslání dat správci a zobrazení zpracovaného výsledku. |
3 | příklad přesměrování jarní stránky
Naučte se používat funkci přesměrování stránky v jarním rámci MVC., |
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. |