MVC arhitektūra JSP ar piemēru

Satura rādītājs:

Anonim

Kas ir MVC?

MVC ir arhitektūra, kas atdala biznesa loģiku, prezentāciju un datus. MVC,

  • M apzīmē modeli
  • V apzīmē View
  • C apzīmē kontrolieri.

MVC ir sistemātisks veids, kā izmantot lietojumprogrammu, kur plūsma sākas no skata slāņa, kur pieprasījums tiek izvirzīts un apstrādāts kontroliera slānī un nosūtīts uz modeļa slāni, lai ievietotu datus un atgūtu veiksmes vai neveiksmes ziņojumu.

Modeļa slānis:

  • Šis ir datu slānis, kas sastāv no sistēmas biznesa loģikas.
  • Tas sastāv no visiem lietojumprogrammas datiem
  • Tas arī atspoguļo lietojuma stāvokli.
  • Tas sastāv no klasēm, kurām ir savienojums ar datu bāzi.
  • Kontrolieris izveido savienojumu ar modeli, ienes datus un nosūta skata slānim.
  • Modelis izveido savienojumu arī ar datu bāzi un saglabā datus datu bāzē, kas tai ir pievienota.

Skatīt slāni:

  • Šis ir prezentācijas slānis.
  • Tas sastāv no HTML, JSP utt.
  • Parasti tas parāda lietojumprogrammas lietotāja interfeisu.
  • To izmanto, lai parādītu datus, kas tiek iegūti no kontroliera, kas savukārt iegūst datus no modeļa slāņa klasēm.
  • Šis skata slānis parāda datus par lietojumprogrammas lietotāja saskarni.

Kontroliera slānis:

  • Tas darbojas kā saskarne starp skatu un modeli.
  • Tas pārtver visus pieprasījumus, kas nāk no skata slāņa.
  • Tas saņem pieprasījumus no skata slāņa, apstrādā pieprasījumus un veic pieprasījumam nepieciešamo validāciju.
  • Šie pieprasījumi tālāk tiek nosūtīti modeļa slānim datu apstrādei, un pēc pieprasījuma apstrādes tas nosūta atpakaļ kontrolierim ar nepieciešamo informāciju un attiecīgi tiek parādīts skatā.

Diagramma ir attēlota zemāk:

MVC priekšrocības ir:

  • Viegli kopjams
  • Viegli pagarināms
  • Viegli pārbaudāms
  • Navigācijas vadība ir centralizēta

MVC arhitektūras piemērs

Šajā piemērā mēs parādīsim, kā izmantot MVC arhitektūru JSP.

  • Mēs izmantojam veidlapas piemēru ar diviem mainīgajiem lielumiem "e-pasts" un "parole", kas ir mūsu skata slānis.
  • Kad lietotājs ievada e-pastu un paroli un noklikšķina uz Iesniegt, darbība tiek nodota mvc_servlet, kur tiek nosūtīts e-pasts un parole.
  • Šis mvc_servlet ir kontroliera slānis. Šeit mvc_servlet pieprasījums tiek nosūtīts pupiņu objektam, kas darbojas kā modeļa slānis.
  • E-pasta un paroles vērtības tiek iestatītas pupiņā un saglabātas tālākam mērķim.
  • No pupas vērtība tiek iegūta un parādīta skata slānī.

Mvc_example.jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> MVC Guru piemērs <ķermenis>
E-pasts:
Parole:

Koda skaidrojums:

Skatīt slāni:

Koda rinda 10-15: Šeit mēs izmantojam veidlapu, kurai ir divi lauki kā parametrs "e-pasts" un "parole", un šis pieprasījums ir jānosūta kontrolierim Mvc_servlet.java, kas tiek nodots darbībā. Metode, caur kuru tiek nodota, ir POST metode.

Mvc_servlet.java

paketes demotest;importēt java.io.IOException;importēt javax.servlet.RequestDispatcher;importēt javax.servlet.ServletException;importēt javax.servlet.http.HttpServlet;importēt javax.servlet.http.HttpServletRequest;importēt javax.servlet.http.HttpServletResponse;/ *** Servletu ieviešanas klase Mvc_servlet* /publiskā klase Mvc_servlet paplašina HttpServlet {privāta statiska galīgā garā sērijaVersijaUID = 1L;/ *** @ skatiet HttpServlet # HttpServlet ()* /public Mvc_servlet () {super ();// TODO Automātiski ģenerēts konstruktora spraudnis}protected void doPost (HttpServletRequest pieprasījums, HttpServletResponse atbilde) izmet ServletException, IOException {// TODO Automātiski ģenerētās metodes spraudnisVirknes e-pasts = request.getParameter ("e-pasts");Virknes parole = request.getParameter ("parole");TestBean testobj = new TestBean ();testobj.setEmail (e-pasts);testobj.setPassword (parole);pieprasījums.setAttribute ("gurubean", testobj);RequestDispatcher rd = request.getRequestDispatcher ("mvc_success.jsp");rd.pārsūtīt (pieprasījums, atbilde);}}

Koda skaidrojums:

Kontroliera slānis

14. koda rindiņa: mvc_servlet paplašina HttpServlet.

Koda rindiņa 26: Tā kā izmantotā metode ir POST, pieprasījums nonāk servleta doPost metodē, kas apstrādā pieprasījumus un saglabā pupiņu objektā kā testobj.

34. koda rinda: Izmantojot pieprasījuma objektu, mēs atribūtu iestatām kā gurubean, kuram tiek piešķirta testobj vērtība.

35. koda rindiņa: Šeit mēs izmantojam pieprasījuma dispečera objektu, lai nosūtītu veiksmes ziņojumu vietnei mvc_success.jsp

TestBean.java

paketes demotest;importēt java.io.Serializable;publiskā klase TestBean ievieš Serializable {publiskā virkne getEmail () {atgriezt e-pastu;}public void setEmail (virknes e-pasts) {this.email = e-pasts;}publiskā virkne getPassword () {atgriezt paroli;}public void setPassword (virknes parole) {this.parole = parole;}privātas virknes e-pasts = "null";privāta virknes parole = "null";}

Koda skaidrojums:

Modeļa slānis:

Kodu rinda 7-17: tajā ir e-pasta un paroles ievācēji un iestatītāji, kas ir Test Bean klases dalībnieki

Kodu rinda 19-20: tā nosaka dalībnieku e-pastu un virknes veida paroli pupiņu klasē.

Mvc_success.jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ page import = "demotest.TestBean"%> Guru panākumi <ķermenis><%TestBean testguru = (TestBean) request.getAttribute ("gurubean");out.print ("Laipni lūdzam" + testguru.getEmail ());%>

Koda skaidrojums:

12. koda rindiņa: mēs iegūstam atribūtu, izmantojot pieprasījuma objektu, kas ir iestatīts servleta doPost metodē.

13. koda rindiņa: mēs drukājam sveiciena ziņojumu un e-pasta ID, kas ir saglabāti pupiņu objektā

Izeja:

Izpildot iepriekš minēto kodu, tiek parādīta šāda izeja:

Noklikšķinot uz mvc_example.jsp, jūs saņemat veidlapu ar e-pastu un paroli ar pogu Iesniegt.

Kad veidlapā esat ievadījis e-pastu un paroli un pēc tam noklikšķiniet uz Iesniegt

Pēc noklikšķināšanas uz Iesniegt tiek parādīts rezultāts

Izeja:

Kad ekrānā ievadāt e-pastu un paroli un pēc tam noklikšķiniet uz Iesniegt, informācija tiek saglabāta TestBean un no TestBean tiek ielādēta nākamajā ekrānā, lai iegūtu veiksmes ziņojumu.

Kopsavilkums:

Šajā rakstā mēs esam iemācījušies par MVC, ti, Model View Controller arhitektūru.

JSP spēlē datu prezentācijas un kontroliera lomu. Tā ir saskarne starp modeli un skatu, kamēr modelis savienojas gan ar kontrolieri, gan ar datu bāzi. Galvenā biznesa loģika ir modeļa slānī.