Arhitectura MVC în JSP cu exemplu

Cuprins:

Anonim

Ce este MVC?

MVC este o arhitectură care separă logica de afaceri, prezentarea și datele. În MVC,

  • M înseamnă Model
  • V înseamnă Vedere
  • C înseamnă controler.

MVC este o modalitate sistematică de a utiliza aplicația în care fluxul începe de la stratul de vizualizare, unde cererea este ridicată și procesată în stratul controler și trimisă la stratul model pentru a insera date și a primi înapoi mesajul de succes sau eșec.

Strat model:

  • Acesta este stratul de date care constă din logica de afaceri a sistemului.
  • Se compune din toate datele aplicației
  • De asemenea, reprezintă starea aplicației.
  • Se compune din clase care au conexiunea la baza de date.
  • Controlerul se conectează cu modelul și preia datele și le trimite la stratul de vizualizare.
  • Modelul se conectează și la baza de date și stochează datele într-o bază de date care este conectată la aceasta.

Vizualizare strat:

  • Acesta este un strat de prezentare.
  • Acesta conține HTML, JSP etc.
  • În mod normal, prezintă interfața de utilizare a aplicației.
  • Este folosit pentru a afișa datele care sunt preluate de la controler, care la rândul lor preluează date din clasele de straturi de model.
  • Acest strat de vizualizare arată datele privind interfața de utilizare a aplicației.

Strat controler:

  • Acționează ca o interfață între View și Model.
  • Interceptează toate cererile care vin din stratul de vizualizare.
  • Acesta primește solicitările din stratul de vizualizare și procesează cererile și face validarea necesară pentru cerere.
  • Această solicitare este trimisă în continuare la nivelul modelului pentru prelucrarea datelor și, odată ce cererea este procesată, ea este trimisă înapoi către controlor cu informațiile solicitate și afișate în mod corespunzător de vizualizare.

Diagrama este reprezentată mai jos:

Avantajele MVC sunt:

  • Ușor de întreținut
  • Ușor de extins
  • Ușor de testat
  • Controlul navigării este centralizat

Exemplu de arhitectură MVC

În acest exemplu, vom arăta cum să folosim arhitectura MVC în JSP.

  • Luăm exemplul unui formular cu două variabile „e-mail” și „parolă”, care este stratul nostru de vizualizare.
  • Odată ce utilizatorul introduce e-mail și parolă și face clic pe Trimitere, acțiunea este transmisă în mvc_servlet unde e-mail și parolă sunt transmise.
  • Acest mvc_servlet este un strat de controler. Aici în mvc_servlet cererea este trimisă obiectului bean care acționează ca strat de model.
  • Valorile e-mailului și parolei sunt setate în bean și stocate în scopuri ulterioare.
  • Din bean, valoarea este preluată și afișată în stratul de vizualizare.

Mvc_example.jsp

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

Explicația codului:

Vizualizare strat:

Linia de cod 10-15: Aici luăm un formular care are două câmpuri ca parametru „e-mail” și „parolă”, iar această solicitare trebuie trimisă către un controler Mvc_servlet.java, care este transmis în acțiune. Metoda prin care este este trecut este metoda POST.

Mvc_servlet.java

demotest pachet;import java.io.IOException;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/ *** Clasa de implementare Servlet Mvc_servlet* /public class Mvc_servlet extinde HttpServlet {privat static lung lung serialVersionUID = 1L;/ *** @vezi HttpServlet # HttpServlet ()* /public Mvc_servlet () {super();// TODO Stub de constructor generat automat}void protejat doPost (cerere HttpServletRequest, răspuns HttpServletResponse) aruncă ServletException, IOException {// TODO Metoda generată automatString email = request.getParameter („e-mail”);String password = request.getParameter ("parolă");TestBean testobj = nou TestBean ();testobj.setEmail (e-mail);testobj.setPassword (parolă);request.setAttribute ("gurubean", testobj);RequestDispatcher rd = request.getRequestDispatcher ("mvc_success.jsp");rd.înainte (cerere, răspuns);}}

Explicația codului:

Stratul controlerului

Linia de cod 14: mvc_servlet extinde HttpServlet.

Linia de cod 26: Deoarece metoda utilizată este POST, cererea intră într-o metodă doPost a servletului care procesează solicitările și salvează în obiectul bean ca testobj.

Linia de cod 34: Folosind obiectul de solicitare setăm atributul ca gurubean căruia i se atribuie valoarea testobj.

Linia de cod 35: Aici utilizăm obiectul dispecer de cerere pentru a transmite mesajul de succes către mvc_success.jsp

TestBean.java

demotest pachet;import java.io.Serializable;public class TestBean implementează Serializable {public String getEmail () {retur email;}public void setEmail (String email) {this.email = e-mail;}public String getPassword () {returnează parola;}public void setPassword (parola șirului) {this.password = parolă;}private String email = "null";private String password = "nul";}

Explicația codului:

Strat model:

Linia de cod 7-17: Conține generatorii și setătorii de e-mail și parolă care sunt membri ai clasei Test Bean

Linia de cod 19-20: definește adresa de e-mail a membrilor și parola de tip șir din clasa bean.

Mvc_success.jsp

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

Explicația codului:

Linia de cod 12: obținem atributul folosind obiectul de solicitare care a fost setat în metoda doPost a servletului.

Linia de cod 13: tipărim mesajul de întâmpinare și ID-ul de e-mail ale căror date au fost salvate în obiectul bean

Ieșire:

Când executați codul de mai sus, obțineți următoarea ieșire:

Când faceți clic pe mvc_example.jsp primiți formularul cu e-mail și parolă cu butonul de trimitere.

Odată ce ați introdus adresa de e-mail și parola în formular și apoi faceți clic pe trimitere

După ce faceți clic pe trimitere, rezultatul este prezentat mai jos

Ieșire:

Când introduceți adresa de e-mail și parola în ecran și faceți clic pe trimitere, detaliile sunt salvate în TestBean și din TestBean sunt preluate pe ecranul următor pentru a primi mesajul de succes.

Rezumat:

În acest articol, am aflat despre arhitectura MVC, adică Model View Controller.

JSP joacă rolul de prezentare a datelor și a operatorului. Este o interfață între model și vizualizare, în timp ce modelul se conectează atât la controler, cât și la baza de date. Principala logică de afaceri este prezentă în stratul de model.