Co je MVC?
MVC je architektura, která odděluje obchodní logiku, prezentaci a data. V MVC
- M znamená Model
- V znamená View
- C znamená ovladač.
MVC je systematický způsob, jak používat aplikaci, kde tok začíná z vrstvy zobrazení, kde je požadavek vyvolán a zpracován ve vrstvě řadiče a odeslán do vrstvy modelu k vložení dat a získání zprávy o úspěchu nebo selhání.
Vrstva modelu:
- Toto je datová vrstva, která se skládá z obchodní logiky systému.
- Skládá se ze všech dat aplikace
- Představuje také stav aplikace.
- Skládá se z tříd, které mají připojení k databázi.
- Řadič se připojí k modelu a načte data a odešle do vrstvy zobrazení.
- Model se také připojí k databázi a uloží data do databáze, která je k ní připojena.
Zobrazit vrstvu:
- Toto je prezentační vrstva.
- Skládá se z HTML, JSP atd.
- Normálně představuje uživatelské rozhraní aplikace.
- Používá se k zobrazení dat, která jsou načtena z řadiče, což zase načte data z tříd modelových vrstev.
- Tato vrstva zobrazení zobrazuje data v uživatelském rozhraní aplikace.
Vrstva řadiče:
- Funguje jako rozhraní mezi pohledem a modelem.
- Zachytává všechny požadavky, které přicházejí z vrstvy zobrazení.
- Přijímá požadavky z vrstvy zobrazení a zpracovává je a provádí potřebné ověření požadavku.
- Tyto požadavky se dále odesílají do modelové vrstvy ke zpracování dat a po zpracování požadavku se odešle zpět do řadiče s požadovanými informacemi a odpovídajícím způsobem se zobrazí v pohledu.
Schéma je znázorněno níže:
Výhody MVC jsou:
- Snadná údržba
- Snadno se prodlužuje
- Snadné testování
- Ovládání navigace je centralizované
Příklad architektury MVC
V tomto příkladu si ukážeme, jak používat architekturu MVC v JSP.
- Vezmeme si příklad formuláře se dvěma proměnnými „email“ a „heslo“, což je naše vrstva zobrazení.
- Jakmile uživatel zadá e-mail a heslo a klikne na odeslat, akce se předá v mvc_servlet, kde se předá e-mail a heslo.
- Tento mvc_servlet je vrstva řadiče. Tady v mvc_servlet je požadavek odeslán do objektu bean, který funguje jako modelová vrstva.
- Hodnoty e-mailu a hesla se nastaví do fazole a uloží se pro další účely.
- Z fazole se načte hodnota a zobrazí se ve vrstvě zobrazení.
Mvc_example.jsp
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>Příklad MVC Guru