MVC-architectuur in JSP met voorbeeld

Inhoudsopgave:

Anonim

Wat is MVC?

MVC is een architectuur die bedrijfslogica, presentatie en gegevens scheidt. In MVC,

  • M staat voor Model
  • V staat voor View
  • C staat voor controller.

MVC is een systematische manier om de applicatie te gebruiken waarbij de stroom begint vanuit de viewlaag, waar het verzoek wordt verhoogd en verwerkt in de controllerlaag en naar de modellaag wordt gestuurd om gegevens in te voegen en het succes- of foutbericht terug te krijgen.

Modellaag:

  • Dit is de datalaag die bestaat uit de bedrijfslogica van het systeem.
  • Het bevat alle gegevens van de applicatie
  • Het geeft ook de staat van de applicatie weer.
  • Het bestaat uit klassen die verbinding hebben met de database.
  • De controller maakt verbinding met het model en haalt de gegevens op en verzendt deze naar de weergavelaag.
  • Het model maakt ook verbinding met de database en slaat de gegevens op in een database die ermee is verbonden.

Bekijk laag:

  • Dit is een presentatielaag.
  • Het bestaat uit HTML, JSP, enz. Erin.
  • Het presenteert normaal gesproken de gebruikersinterface van de applicatie.
  • Het wordt gebruikt om de gegevens weer te geven die worden opgehaald van de controller, die op zijn beurt gegevens ophaalt uit modellaagklassen.
  • Deze view-laag toont de gegevens op de gebruikersinterface van de applicatie.

Controller-laag:

  • Het fungeert als een interface tussen weergave en model.
  • Het onderschept alle verzoeken die uit de weergavelaag komen.
  • Het ontvangt de verzoeken van de viewlaag en verwerkt de verzoeken en voert de nodige validatie uit voor het verzoek.
  • Dit verzoek wordt verder naar de modellaag gestuurd voor gegevensverwerking, en zodra het verzoek is verwerkt, wordt het teruggestuurd naar de controller met de vereiste informatie en dienovereenkomstig weergegeven door de weergave.

Het diagram is hieronder weergegeven:

De voordelen van MVC zijn:

  • Makkelijk te onderhouden
  • Makkelijk uit te breiden
  • Makkelijk te testen
  • De navigatiecontrole is gecentraliseerd

Voorbeeld van MVC-architectuur

In dit voorbeeld laten we zien hoe u MVC-architectuur in JSP kunt gebruiken.

  • We nemen het voorbeeld van een formulier met twee variabelen "e-mail" en "wachtwoord", wat onze weergavelaag is.
  • Zodra de gebruiker het e-mailadres en het wachtwoord invoert en op verzenden klikt, wordt de actie doorgegeven in mvc_servlet waar het e-mailadres en het wachtwoord worden doorgegeven.
  • Deze mvc_servlet is de controllerlaag. Hier in mvc_servlet wordt het verzoek naar het bean-object gestuurd dat als modellaag fungeert.
  • De e-mail- en wachtwoordwaarden worden in de bean gezet en voor verdere doeleinden opgeslagen.
  • Van de boon wordt de waarde opgehaald en weergegeven in de weergavelaag.

Mvc_example.jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> MVC Guru Voorbeeld 
E-mail:
Wachtwoord:

Uitleg van de code:

Bekijk laag:

Coderegel 10-15: Hier nemen we een formulier aan dat twee velden heeft als parameter "e-mail" en "wachtwoord" en dit verzoek moet worden doorgestuurd naar een controller Mvc_servlet.java, die in actie wordt doorgegeven. is geslaagd is de POST-methode.

Mvc_servlet.java

pakket demotest;importeer java.io.IOException;importeer javax.servlet.RequestDispatcher;importeer javax.servlet.ServletException;importeer javax.servlet.http.HttpServlet;importeer javax.servlet.http.HttpServletRequest;importeer javax.servlet.http.HttpServletResponse;​* Servlet-implementatieklasse Mvc_servlet​openbare klasse Mvc_servlet breidt HttpServlet {uitprivé statische laatste lange serialVersionUID = 1L;​* @zie HttpServlet # HttpServlet ()​openbare Mvc_servlet () {super();// TODO Automatisch gegenereerde constructorstub​beschermde ongeldige doPost (HttpServletRequest-verzoek, HttpServletResponse-reactie) gooit ServletException, IOException {// TODO Automatisch gegenereerde methodestubString email = request.getParameter ("email");String wachtwoord = request.getParameter ("wachtwoord");TestBean testobj = nieuwe TestBean ();testobj.setEmail (e-mail);testobj.setPassword (wachtwoord);request.setAttribute ("gurubean", testobj);RequestDispatcher rd = request.getRequestDispatcher ("mvc_success.jsp");rd.forward (verzoek, antwoord);​​

Uitleg van de code:

Controller laag

Coderegel 14: mvc_servlet breidt HttpServlet uit.

Coderegel 26: Omdat de gebruikte methode POST is, komt het verzoek in een doPost-methode van de servlet die de verzoeken verwerkt en als testobj in het bean-object wordt opgeslagen.

Coderegel 34: Met het request-object stellen we het attribuut in als gurubean waaraan de waarde van testobj is toegewezen.

Coderegel 35: hier gebruiken we request dispatcher-object om het succesbericht door te geven aan mvc_success.jsp

TestBean.java

pakket demotest;importeer java.io.Serializable;openbare klasse TestBean implementeert Serializable {openbare tekenreeks getEmail () {retour e-mail;​public void setEmail (String e-mail) {this.email = e-mail;​openbare String getPassword () {wachtwoord teruggeven;​public void setPassword (String-wachtwoord) {this.password = wachtwoord;​private String email = "null";private String password = "null";​

Uitleg van de code:

Modellaag:

Coderegel 7-17: Het bevat de getters en setters van e-mail en wachtwoord die lid zijn van de Test Bean-klas

Coderegel 19-20: het definieert het e-mailadres en wachtwoord van het lid van het stringtype in de bean-klasse.

Mvc_success.jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ page import = "demotest.TestBean"%> Guru Succes ​TestBean testguru = (TestBean) request.getAttribute ("gurubean");out.print ("Welkom," + testguru.getEmail ());​

Uitleg van de code:

Coderegel 12: we krijgen het attribuut met het request-object dat is ingesteld in de doPost-methode van de servlet.

Coderegel 13: We drukken het welkomstbericht en de e-mail-ID af die in het bean-object zijn opgeslagen

Uitgang:

Als je de bovenstaande code uitvoert, krijg je de volgende output:

Wanneer u op mvc_example.jsp klikt, krijgt u het formulier met e-mail en wachtwoord met de verzendknop.

Nadat u het e-mailadres en wachtwoord in het formulier heeft ingevoerd en vervolgens op verzenden klikt

Nadat u op verzenden heeft geklikt, wordt de uitvoer weergegeven zoals hieronder

Uitgang:

Wanneer u het e-mailadres en wachtwoord in het scherm invoert en vervolgens op verzenden klikt, worden de details opgeslagen in TestBean en uit de TestBean worden ze op het volgende scherm opgehaald om het succesbericht te krijgen.

Overzicht:

In dit artikel hebben we geleerd over de MVC oftewel Model View Controller-architectuur.

JSP speelt de rol van presentatie van de gegevens en controller. Het is een interface tussen model en weergave, terwijl het model zowel verbinding maakt met de controller als met de database. De belangrijkste bedrijfslogica is aanwezig in de modellaag.