MVC architektúra JSP-ben példával

Tartalomjegyzék:

Anonim

Mi az MVC?

Az MVC egy olyan architektúra, amely elválasztja az üzleti logikát, a prezentációt és az adatokat. Az MVC-ben

  • M a Modellt jelenti
  • V jelentése Nézet
  • C a vezérlőt jelenti.

Az MVC az alkalmazás használatának szisztematikus módja, ahol a folyamat a nézeti rétegből indul, ahol a kérést vezérlő rétegben emelik és dolgozzák fel, és elküldik a modell rétegnek adatok beszúrása és a siker vagy hiba üzenet visszaszerzése érdekében.

Modellréteg:

  • Ez az az adatréteg, amely a rendszer üzleti logikájából áll.
  • Az alkalmazás összes adatából áll
  • Ez az alkalmazás állapotát is képviseli.
  • Osztályokból áll, amelyek kapcsolatban vannak az adatbázissal.
  • A vezérlő kapcsolatba lép a modellel, lekéri az adatokat és elküldi a nézeti rétegnek.
  • A modell összekapcsolódik az adatbázissal is, és az adatokat egy hozzá kapcsolódó adatbázisba tárolja.

Réteg megtekintése:

  • Ez egy bemutató réteg.
  • HTML-ből, JSP-ből stb. Áll.
  • Rendszerint az alkalmazás felhasználói felületét mutatja be.
  • A vezérlőtől lehívott adatok megjelenítésére szolgál, amelyek viszont a modellréteg-osztályok adataiból származnak.
  • Ez a nézeti réteg az alkalmazás felhasználói felületén lévő adatokat mutatja.

Vezérlő réteg:

  • Interfészként működik a Nézet és a Modell között.
  • Elfogja az összes kérést, amelyek a nézeti rétegből érkeznek.
  • Fogadja a kéréseket a nézettől, feldolgozza a kéréseket, és elvégzi a kéréshez szükséges ellenőrzést.
  • Ezeket a kéréseket továbbítják a modellréteghez adatfeldolgozás céljából, és a kérés feldolgozása után a szükséges információkat visszaküldi a vezérlőnek, és a nézet ennek megfelelően jeleníti meg.

A diagram az alábbiakban látható:

Az MVC előnyei:

  • Könnyen karbantartható
  • Könnyen meghosszabbítható
  • Könnyű tesztelni
  • A navigáció vezérlése központosított

Példa az MVC architektúrára

Ebben a példában bemutatjuk, hogyan kell használni az MVC architektúrát a JSP-ben.

  • Példát veszünk egy űrlapra, amelynek két változója van: "e-mail" és "jelszó", amelyek a nézeti rétegünk.
  • Miután a felhasználó megadta az e-mailt, a jelszót és rákattint a beküldésre, akkor a művelet átkerül az mvc_servlet fájlba, ahol az e-mail és a jelszó átkerül.
  • Ez az mvc_servlet vezérlő réteg. Itt az mvc_servlet-ben a kérést elküldjük a babrésznek, amely modellrétegként működik.
  • Az e-mail és a jelszó értékei be vannak állítva a babba, és további célokból tárolásra kerülnek.
  • A babból az érték lekérésre kerül és megjelenik a nézeti rétegben.

Mvc_example.jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> MVC Guru példa 
E-mail:
Jelszó:

A kód magyarázata:

Réteg megtekintése:

10-15 kódsor: Itt egy olyan formát veszünk fel, amelynek két mezője van az "email" és a "password" paraméterként, és ezt a kérést továbbítani kell az Mvc_servlet.java vezérlőhöz, amelyet működés közben adunk át. A módszer, amelyen keresztül átadva van POST módszer.

Mvc_servlet.java

csomag demotest;import java.io.IOException;javax.servlet.RequestDispatcher importálása;import javax.servlet.ServletException;importálja a javax.servlet.http.HttpServlet;importálja a javax.servlet.http.HttpServletRequest;importálja a javax.servlet.http.HttpServletResponse;/ *** Servlet implementációs osztály Mvc_servlet* /az Mvc_servlet nyilvános osztály kiterjeszti a HttpServlet {privát statikus végső hosszú serialVersionUID = 1L;/ *** @ lásd HttpServlet # HttpServlet ()* /public Mvc_servlet () {szuper();// TODO Auto-generált konstruktor csonk}védett void doPost (HttpServletRequest kérés, HttpServletResponse válasz) dobja a ServletException, IOException {// TODO Automatikusan létrehozott módszercsonkKarakterlánc e-mail = request.getParameter ("e-mail");Karakterlánc jelszó = request.getParameter ("jelszó");TestBean testobj = new TestBean ();testobj.setEmail (e-mail);testobj.setPassword (jelszó);request.setAttribute ("gurubean", testobj);RequestDispatcher rd = request.getRequestDispatcher ("mvc_success.jsp");rd.forward (kérés, válasz);}}

A kód magyarázata:

Vezérlő réteg

14. kódsor : Az mvc_servlet kiterjeszti a HttpServlet fájlt.

26. kódsor : Mivel az alkalmazott módszer a POST, ezért a kérés a szervlet doPost metódusába kerül, amely feldolgozza a kéréseket, és testobjként menti a babobjektumba.

34. kódsor : A kérésobjektum segítségével az attribútumot gurubean-nak állítjuk be, amelyhez hozzárendeljük a testobj értékét.

35. kódsor : Itt kérelem diszpécser objektumot használunk a sikerüzenet továbbításához az mvc_success.jsp címre

TestBean.java

csomag demotest;import java.io.Serializable;public class TestBean megvalósítja a Serializable {public String getEmail () {visszatérő e-mail;}public void setEmail (karakterlánc e-mail) {this.email = e-mail;}public String getPassword () {jelszó visszaküldése;}public void setPassword (karakterlánc jelszó) {ez.jelszó = jelszó;}privát karakterlánc e-mail = "null";privát karakterlánc jelszó = "null";}

A kód magyarázata:

Modellréteg:

Kódsor 7-17: Ez tartalmazza az e-mail és a jelszó beolvasóit és beállítóit, amelyek a Test Bean osztály tagjai

Kódsor 19-20: Megadja a tagok e-mail címét és a karakterlánc típusú jelszavát a bab osztályban.

Mvc_success.jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ page import = "demotest.TestBean"%> Guru siker <%TestBean testguru = (TestBean) request.getAttribute ("gurubean");out.print ("Üdvözöljük" + testguru.getEmail ());%>

A kód magyarázata:

12. kódsor: az attribútumot a servlet doPost metódusában beállított kérésobjektum segítségével kapjuk meg.

13. kódsor: Kinyomtatjuk az üdvözlő üzenetet és az e-mail azonosítót, amelyet a babobjektumba mentettünk

Kimenet:

A fenti kód végrehajtásakor a következő kimenetet kapja:

Ha rákattint az mvc_example.jsp fájlra, az elküldés gombbal megkapja az űrlapot e-mailben és jelszóval.

Miután megadta az e-mail címet és a jelszót az űrlapon, majd kattintson a küldés gombra

A beküldésre kattintás után a kimenet az alábbiak szerint jelenik meg

Kimenet:

Amikor beírja az e-mail címet és a jelszót a képernyőn, majd rákattint a küldés gombra, akkor a részleteket a TestBean menti, a TestBean-ból pedig a következő képernyőn kapják meg, hogy megkapja a sikert.

Összegzés:

Ebben a cikkben megismerhettük az MVC, azaz a Model View Controller architektúrát.

A JSP az adatok bemutatásának és az adatkezelő szerepét tölti be. Ez egy interfész a modell és a nézet között, míg a modell mind a vezérlőhöz, mind az adatbázishoz csatlakozik. A fő üzleti logika jelen van a modellrétegben.