Kas yra MVC?
MVC yra architektūra, atskirianti verslo logiką, pateikimą ir duomenis. MVC,
- M reiškia modelį
- V reiškia „View“
- C reiškia valdiklį.
MVC yra sisteminis būdas naudoti programą, kai srautas prasideda nuo rodinio sluoksnio, kur užklausa yra keliama ir apdorojama valdiklio sluoksnyje ir siunčiama modelio sluoksniui, norint įterpti duomenis ir gauti sėkmės ar nesėkmės pranešimą.
Modelio sluoksnis:
- Tai duomenų sluoksnis, kurį sudaro sistemos verslo logika.
- Ją sudaro visi programos duomenys
- Tai taip pat atspindi programos būseną.
- Jį sudaro klasės, turinčios ryšį su duomenų baze.
- Valdiklis jungiasi su modeliu, atneša duomenis ir siunčia į rodinio sluoksnį.
- Modelis taip pat jungiasi su duomenų baze ir saugo duomenis į prie jo prijungtą duomenų bazę.
Peržiūrėti sluoksnį:
- Tai yra pateikimo sluoksnis.
- Jį sudaro HTML, JSP ir kt.
- Paprastai jis pateikia programos vartotojo sąsają.
- Jis naudojamas rodyti duomenis, kurie gaunami iš valdiklio, kuris savo ruožtu gauna duomenis iš modelio sluoksnio klasių.
- Šis rodinio sluoksnis rodo programos vartotojo sąsajos duomenis.
Valdiklio sluoksnis:
- Tai veikia kaip „View“ ir „Model“ sąsaja.
- Jis perima visas užklausas, gaunamas iš rodinio sluoksnio.
- Jis gauna užklausas iš rodinio sluoksnio, apdoroja užklausas ir atlieka reikiamą užklausos patvirtinimą.
- Šios užklausos toliau siunčiamos duomenų apdorojimo modelio sluoksniui, o apdorojus užklausą, ji išsiunčia atgal valdikliui su reikalinga informacija ir atitinkamai rodoma rodinyje.
Diagrama pavaizduota žemiau:
MVC pranašumai yra šie:
- Lengva prižiūrėti
- Lengva pratęsti
- Lengva išbandyti
- Navigacijos valdymas yra centralizuotas
MVC architektūros pavyzdys
Šiame pavyzdyje mes parodysime, kaip naudoti MVC architektūrą JSP.
- Mes imamės formos su dviem kintamaisiais „el. Paštas“ ir „slaptažodis“, kurie yra mūsų rodinio sluoksnis, pavyzdžio.
- Kai vartotojas įveda el. Pašto adresą, slaptažodį ir spustelės pateikti, veiksmas bus perduotas mvc_servlet, kur perduodami el. Paštas ir slaptažodis.
- Šis „mvc_servlet“ yra valdiklio sluoksnis. Čia „mvc_servlet“ užklausa siunčiama pupelių objektui, kuris veikia kaip modelio sluoksnis.
- El. Pašto ir slaptažodžio vertės nustatomos į pupelę ir saugomos tolesniam tikslui.
- Iš pupelės vertė gaunama ir rodoma rodinio sluoksnyje.
„Mvc_example.jsp“
<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>MVC „Guru“ pavyzdys