Hvad er MVC?
MVC er en arkitektur, der adskiller forretningslogik, præsentation og data. I MVC,
- M står for Model
- V står for View
- C står for controller.
MVC er en systematisk måde at bruge applikationen på, hvor flowet starter fra visningslaget, hvor anmodningen hæves og behandles i controller-laget og sendes til modelaget for at indsætte data og få tilbage meddelelsen om succes eller fiasko.
Model lag:
- Dette er datalaget, der består af systemets forretningslogik.
- Den består af alle data i applikationen
- Det repræsenterer også applikationens tilstand.
- Den består af klasser, der har forbindelse til databasen.
- Controlleren forbinder med modellen og henter dataene og sender til visningslaget.
- Modellen forbinder også med databasen og gemmer dataene i en database, der er forbundet til den.
Vis lag:
- Dette er et præsentationslag.
- Den består af HTML, JSP osv. Ind i den.
- Det viser normalt applikationsgrænsefladen.
- Det bruges til at vise de data, der hentes fra controlleren, som igen henter data fra modelagsklasser.
- Dette visningslag viser dataene om UI i applikationen.
Controller-lag:
- Det fungerer som en grænseflade mellem visning og model.
- Det opfanger alle de anmodninger, der kommer fra visningslaget.
- Den modtager anmodningerne fra visningslaget og behandler anmodningerne og udfører den nødvendige validering for anmodningen.
- Denne anmodning sendes yderligere til modelaget til databehandling, og når anmodningen er behandlet, sender den tilbage til controlleren med krævet information og vises i overensstemmelse hermed af visningen.
Diagrammet er vist nedenfor:
Fordelene ved MVC er:
- Let at vedligeholde
- Let at udvide
- Let at teste
- Navigationskontrol er centraliseret
Eksempel på MVC-arkitektur
I dette eksempel skal vi vise, hvordan man bruger MVC-arkitektur i JSP.
- Vi tager eksemplet på en formular med to variabler "e-mail" og "adgangskode", som er vores visningslag.
- Når brugeren indtaster e-mail og adgangskode og klikker på send, overføres handlingen i mvc_servlet, hvor e-mail og adgangskode sendes.
- Denne mvc_servlet er controller-lag. Her i mvc_servlet sendes anmodningen til bønneobjektet, der fungerer som modelag.
- E-mail- og adgangskodeværdierne indstilles i bønnen og gemmes til yderligere formål.
- Fra bønnen hentes værdien og vises i visningslaget.
Mvc_eksempel.jsp
<% @ side sprog = "java" contentType = "tekst / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%>MVC Guru-eksempel