MVC Architecture i JSP med eksempel

Innholdsfortegnelse:

Anonim

Hva er MVC?

MVC er en arkitektur som skiller forretningslogikk, presentasjon og data. I MVC,

  • M står for Model
  • V står for View
  • C står for kontroller.

MVC er en systematisk måte å bruke applikasjonen der flyten starter fra visningslaget, der forespørselen blir hevet og behandlet i kontrollerlaget og sendt til modellaget for å sette inn data og få tilbake meldingen om suksess eller feil.

Modelllag:

  • Dette er datalaget som består av forretningslogikken til systemet.
  • Den består av alle dataene i applikasjonen
  • Det representerer også tilstanden til søknaden.
  • Den består av klasser som har forbindelse til databasen.
  • Kontrolleren kobler seg til modellen og henter dataene og sender til visningslaget.
  • Modellen kobles også til databasen og lagrer dataene i en database som er koblet til den.

Vis lag:

  • Dette er et presentasjonslag.
  • Den består av HTML, JSP, etc. inn i den.
  • Den presenterer normalt brukergrensesnittet i applikasjonen.
  • Den brukes til å vise dataene som hentes fra kontrolleren som igjen henter data fra modellagsklasser.
  • Dette visningslaget viser dataene på brukergrensesnittet til applikasjonen.

Kontroller lag:

  • Det fungerer som et grensesnitt mellom View og Model.
  • Den avskjærer alle forespørslene som kommer fra visningslaget.
  • Den mottar forespørslene fra visningslaget og behandler forespørslene og gjør den nødvendige valideringen for forespørselen.
  • Disse forespørslene blir videre sendt til modellaget for databehandling, og når forespørselen er behandlet, sender den tilbake til kontrolleren med nødvendig informasjon og vises tilsvarende av visningen.

Diagrammet er representert nedenfor:

Fordelene med MVC er:

  • Lett å vedlikeholde
  • Lett å utvide
  • Lett å teste
  • Navigasjonskontroll er sentralisert

Eksempel på MVC-arkitektur

I dette eksemplet skal vi vise hvordan du bruker MVC-arkitektur i JSP.

  • Vi tar eksemplet på et skjema med to variabler "e-post" og "passord" som er vårt visningslag.
  • Når brukeren skriver inn e-post, og passord og klikker på send, overføres handlingen i mvc_servlet der e-post og passord sendes.
  • Denne mvc_servlet er kontrollerlag. Her i mvc_servlet blir forespørselen sendt til bønneobjektet som fungerer som modellag.
  • Verdiene for e-post og passord settes inn i bønnen og lagres for videre formål.
  • Fra bønnen hentes verdien og vises i visningslaget.

Mvc_eksempel.jsp

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> MVC Guru Eksempel 
E-post:
Passord:

Forklaring av koden:

Vis lag:

Kodelinje 10-15: Her tar vi et skjema som har to felt som parameter "e-post" og "passord", og denne forespørselen må videresendes til en kontroller Mvc_servlet.java, som sendes i aksjon. Metoden som den er bestått er POST-metoden.

Mvc_servlet.java

demotest pakke;importere java.io.IOException;importere javax.servlet.RequestDispatcher;importere javax.servlet.ServletException;importere javax.servlet.http.HttpServlet;importere javax.servlet.http.HttpServletRequest;importere javax.servlet.http.HttpServletResponse;/ *** Servlet implementeringsklasse Mvc_servlet* /offentlig klasse Mvc_servlet utvider HttpServlet {privat statisk endelig lang serialVersionUID = 1L;/ *** @see HttpServlet # HttpServlet ()* /offentlig Mvc_servlet () {super();// TODO Auto-generert konstruktørstubbe}beskyttet ugyldig doPost (HttpServletRequest-forespørsel, HttpServletResponse-svar) kaster ServletException, IOException {// TODO Auto-generert metodestubStreng-e-post = request.getParameter ("e-post");Strengpassord = request.getParameter ("passord");TestBean testobj = ny TestBean ();testobj.setEmail (e-post);testobj.setPassword (passord);request.setAttribute ("gurubean", testobj);RequestDispatcher rd = request.getRequestDispatcher ("mvc_success.jsp");rd.forward (forespørsel, svar);}}

Forklaring av koden:

Kontrollerlag

Kodelinje 14: mvc_servlet utvider HttpServlet.

Kodelinje 26: Siden metoden som brukes er POST, kommer forespørselen til en doPost-metode for servletten som behandler forespørslene og lagrer i bønneobjektet som testobj.

Kodelinje 34: Ved å bruke forespørselsobjekt setter vi attributtet som gurubean som tildeles verdien av testobj.

Kodelinje 35: Her bruker vi forespørselsdisplayerobjekt for å overføre suksessmeldingen til mvc_success.jsp

TestBean.java

demotest pakke;importere java.io.Serializable;offentlig klasse TestBean implementerer Serializable {offentlig streng getEmail () {returner e-post;}public void setEmail (streng e-post) {this.email = e-post;}offentlig streng getPassword () {returpassord;}public void setPassword (strengpassord) {this.password = passord;}privat streng-e-post = "null";privat strengpassord = "null";}

Forklaring av koden:

Modelllag:

Kodelinje 7-17: Den inneholder getters og settere av e-post og passord som er medlemmer av Test Bean-klassen

Kodelinje 19-20: Den definerer medlemmets e-postadresse og passord av strengtype i bønneklassen.

Mvc_success.jsp

<% @ sidespråk = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ page import = "demotest.TestBean"%> Gurusuksess <%TestBean testguru = (TestBean) request.getAttribute ("gurubean");out.print ("Velkommen", + testguru.getEmail ());%>

Forklaring av koden:

Kodelinje 12: vi får attributtet ved hjelp av forespørselsobjekt som er satt i doPost-metoden til servleten.

Kodelinje 13: Vi skriver ut velkomstmeldingen og e-post-ID-en som er lagret i bønneobjektet

Produksjon:

Når du utfører koden ovenfor, får du følgende utgang:

Når du klikker på mvc_example.jsp får du skjemaet med e-post og passord med send-knappen.

Når du har oppgitt e-postadresse og passord til skjemaet, og deretter klikker du på send

Etter å ha klikket på send, vises utdataene som nedenfor

Produksjon:

Når du skriver inn e-post og passord i skjermen og klikker på send deretter, blir detaljene lagret i TestBean, og fra TestBean blir de hentet på neste skjerm for å få suksessmeldingen.

Sammendrag:

I denne artikkelen har vi lært om MVC, dvs. Model View Controller-arkitektur.

JSP spiller rollen som presentasjon av dataene og kontrolleren. Det er et grensesnitt mellom modell og visning mens modellen kobles både til kontrolleren og databasen. Hovedforretningslogikken er tilstede i modellaget.