Architektura MVC w JSP z przykładem

Spisie treści:

Anonim

Co to jest MVC?

MVC to architektura oddzielająca logikę biznesową, prezentację i dane. W MVC

  • M oznacza model
  • V oznacza Widok
  • C oznacza kontroler.

MVC to systematyczny sposób korzystania z aplikacji, w której przepływ rozpoczyna się od warstwy widoku, gdzie żądanie jest zgłaszane i przetwarzane w warstwie kontrolera i wysyłane do warstwy modelu w celu wstawienia danych i odzyskania komunikatu o sukcesie lub niepowodzeniu.

Warstwa modelu:

  • Jest to warstwa danych, na którą składa się logika biznesowa systemu.
  • Zawiera wszystkie dane aplikacji
  • Przedstawia również stan aplikacji.
  • Składa się z klas, które mają połączenie z bazą danych.
  • Kontroler łączy się z modelem, pobiera dane i wysyła do warstwy widoku.
  • Model łączy się również z bazą danych i przechowuje dane w bazie danych, która jest z nią połączona.

Wyświetl warstwę:

  • To jest warstwa prezentacji.
  • Składa się z HTML, JSP itp.
  • Zwykle przedstawia interfejs użytkownika aplikacji.
  • Służy do wyświetlania danych, które są pobierane ze sterownika, który z kolei pobiera dane z klas warstwy modelu.
  • Ta warstwa widoku przedstawia dane w interfejsie użytkownika aplikacji.

Warstwa kontrolera:

  • Działa jako interfejs między widokiem a modelem.
  • Przechwytuje wszystkie żądania przychodzące z warstwy widoku.
  • Odbiera żądania z warstwy widoku i przetwarza żądania oraz przeprowadza niezbędną weryfikację żądania.
  • Żądanie to jest następnie przesyłane do warstwy modelowej w celu przetworzenia danych, a po przetworzeniu żądania odsyła z powrotem do administratora z wymaganymi informacjami i odpowiednio wyświetlone przez widok.

Schemat przedstawiono poniżej:

Zalety MVC to:

  • Łatwy w utrzymaniu
  • Łatwe do przedłużenia
  • Łatwe do przetestowania
  • Sterowanie nawigacją jest scentralizowane

Przykład architektury MVC

W tym przykładzie pokażemy, jak używać architektury MVC w JSP.

  • Bierzemy przykład formularza z dwiema zmiennymi „e-mail” i „hasło”, który jest naszą warstwą widoku.
  • Gdy użytkownik wprowadzi adres e-mail i hasło i kliknie przycisk Prześlij, akcja jest przekazywana w mvc_servlet, gdzie przekazywane są adres e-mail i hasło.
  • Ten mvc_servlet jest warstwą kontrolera. Tutaj w mvc_servlet żądanie jest wysyłane do obiektu bean, który działa jako warstwa modelu.
  • Wartości adresu e-mail i hasła są ustawiane w ziarnie i przechowywane do dalszych celów.
  • Z ziarna wartość jest pobierana i wyświetlana w warstwie widoku.

Mvc_example.jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Przykład guru MVC 
E-mail:
Hasło:

Wyjaśnienie kodu:

Wyświetl warstwę:

Linia kodu 10-15: Tutaj bierzemy formularz, który ma dwa pola jako parametr „e-mail” i „hasło” i to żądanie musi zostać przekazane do kontrolera Mvc_servlet.java, który jest przekazywany w akcji. przekazywana jest metoda POST.

Mvc_servlet.java

pakiet demotest;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;/ *** Klasa implementacji serwletu Mvc_servlet* /public class Mvc_servlet rozszerza HttpServlet {prywatne statyczne końcowe długie serialVersionUID = 1L;/ *** @see HttpServlet # HttpServlet ()* /public Mvc_servlet () {Wspaniały();// TODO Automatycznie wygenerowany kod konstruktora}protected void doPost (żądanie HttpServletRequest, odpowiedź HttpServletResponse) throws ServletException, IOException {// TODO Automatycznie wygenerowany kod pośredniczący metodyString email = request.getParameter ("email");String password = request.getParameter ("hasło");TestBean testobj = new TestBean ();testobj.setEmail (e-mail);testobj.setPassword (hasło);request.setAttribute ("gurubean", testobj);RequestDispatcher rd = request.getRequestDispatcher ("mvc_success.jsp");rd.forward (żądanie, odpowiedź);}}

Wyjaśnienie kodu:

Warstwa kontrolera

Linia kodu 14: mvc_servlet rozszerza HttpServlet.

Linia kodu 26: Ponieważ używaną metodą jest POST, żądanie przychodzi do metody doPost serwletu, która przetwarza żądania i zapisuje w obiekcie bean jako testobj.

Linia kodu 34: Używając obiektu żądania ustawiamy atrybut jako gurubean, któremu przypisywana jest wartość testobj.

Linia kodu 35: Używamy tutaj obiektu dyspozytora żądań, aby przekazać komunikat o powodzeniu do mvc_success.jsp

TestBean.java

pakiet demotest;import java.io.Serializable;public class TestBean implementuje Serializable {public String getEmail () {e-mail zwrotny;}public void setEmail (String email) {this.email = email;}public String getPassword () {zwrot hasła;}public void setPassword (hasło ciąg znaków) {this.password = hasło;}private String email = "null";prywatne hasło String = "null";}

Wyjaśnienie kodu:

Warstwa modelu:

Linia kodu 7-17: Zawiera metody pobierające i ustawiające adresy e-mail i hasła, które są członkami klasy Test Bean

Code Line 19-20: Definiuje adres e-mail członków i hasło typu string w klasie bean.

Mvc_success.jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ page import = "demotest.TestBean"%> Sukces guru <%TestBean testguru = (TestBean) request.getAttribute ("guruba");out.print ("Witamy," + testguru.getEmail ());%>

Wyjaśnienie kodu:

Linia kodu 12: atrybut pobieramy za pomocą obiektu żądania, który został ustawiony w metodzie doPost serwletu.

Linia kodu 13: Drukujemy wiadomość powitalną i identyfikator e-mail, które zostały zapisane w obiekcie bean

Wynik:

Po wykonaniu powyższego kodu otrzymasz następujące dane wyjściowe:

Po kliknięciu mvc_example.jsp otrzymasz formularz z adresem e-mail i hasłem z przyciskiem przesyłania.

Po wpisaniu adresu e-mail i hasła do formularza, a następnie kliknij przycisk Prześlij

Po kliknięciu przycisku Prześlij dane wyjściowe są wyświetlane jak poniżej

Wynik:

Po wprowadzeniu adresu e-mail i hasła na ekranie i kliknięciu przycisku „Prześlij”, szczegóły są zapisywane w TestBean, a z TestBean są pobierane na następnym ekranie, aby otrzymać komunikat o sukcesie.

Podsumowanie:

W tym artykule dowiedzieliśmy się o architekturze MVC, czyli modelu kontrolera widoku modelu.

JSP pełni rolę prezentacji danych i administratora. Jest to interfejs między modelem a widokiem, podczas gdy model łączy się zarówno ze sterownikiem, jak i bazą danych. Główna logika biznesowa jest obecna w warstwie modelu.