Архитектура MVC в JSP с примером

Содержание:

Anonim

Что такое MVC?

MVC - это архитектура, разделяющая бизнес-логику, представление и данные. В MVC

  • M означает модель
  • V означает "Просмотр"
  • C обозначает контроллер.

MVC - это систематический способ использования приложения, в котором поток начинается с уровня представления, где запрос поднимается и обрабатывается на уровне контроллера и отправляется на уровень модели для вставки данных и получения сообщения об успешном или неудачном завершении.

Слой модели:

  • Это уровень данных, который состоит из бизнес-логики системы.
  • Он состоит из всех данных приложения
  • Он также представляет состояние приложения.
  • Он состоит из классов, подключенных к базе данных.
  • Контроллер подключается к модели, извлекает данные и отправляет их на уровень представления.
  • Модель также подключается к базе данных и сохраняет данные в базе данных, которая к ней подключена.

Просмотр слоя:

  • Это уровень представления.
  • Он состоит из HTML, JSP и т.д.
  • Обычно он представляет собой пользовательский интерфейс приложения.
  • Он используется для отображения данных, которые извлекаются из контроллера, который, в свою очередь, извлекает данные из классов слоя модели.
  • Этот слой представления показывает данные пользовательского интерфейса приложения.

Уровень контроллера:

  • Он действует как интерфейс между представлением и моделью.
  • Он перехватывает все запросы, поступающие от уровня представления.
  • Он получает запросы от уровня представления, обрабатывает запросы и выполняет необходимую проверку для запроса.
  • Эти запросы далее отправляются на уровень модели для обработки данных, и после обработки запроса он отправляется обратно контроллеру с необходимой информацией и соответствующим образом отображается в представлении.

Схема представлена ​​ниже:

Преимущества MVC:

  • Легко поддерживать
  • Легко расширить
  • Легко проверить
  • Управление навигацией централизованное

Пример архитектуры MVC

В этом примере мы покажем, как использовать архитектуру MVC в JSP.

  • Мы берем в качестве примера форму с двумя переменными «электронная почта» и «пароль», которая является нашим уровнем представления.
  • Как только пользователь вводит адрес электронной почты и пароль и нажимает кнопку «Отправить», действие передается в mvc_servlet, где передаются адрес электронной почты и пароль.
  • Этот mvc_servlet является уровнем контроллера. Здесь, в mvc_servlet, запрос отправляется объекту bean-компонента, который действует как уровень модели.
  • Значения адреса электронной почты и пароля устанавливаются в bean-компонент и сохраняются для дальнейшего использования.
  • Из bean-компонента значение извлекается и отображается в слое просмотра.

Mvc_example.jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Пример MVC Guru 
Электронная почта:
Пароль:

Расшифровка кода:

Просмотр слоя:

Строка кода 10-15: Здесь мы берем форму, которая имеет два поля в качестве параметра «электронная почта» и «пароль», и этот запрос необходимо перенаправить на контроллер Mvc_servlet.java, который передается в действии. Метод, через который он передается метод POST.

Mvc_servlet.java

демотест пакета;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;/ *** Класс реализации сервлета Mvc_servlet* /открытый класс Mvc_servlet расширяет HttpServlet {частный статический финальный длинный serialVersionUID = 1L;/ *** @ см. HttpServlet # HttpServlet ()* /public Mvc_servlet () {супер();// TODO Заглушка автоматически сгенерированного конструктора}protected void doPost (запрос HttpServletRequest, ответ HttpServletResponse) выбрасывает ServletException, IOException {// TODO Заглушка автоматически сгенерированного методаСтрока email = request.getParameter ("электронная почта");Строка password = request.getParameter («пароль»);TestBean testobj = новый TestBean ();testobj.setEmail (электронная почта);testobj.setPassword (пароль);request.setAttribute ("гурубеан", testobj);RequestDispatcher rd = request.getRequestDispatcher ("mvc_success.jsp");rd.forward (запрос, ответ);}}

Расшифровка кода:

Уровень контроллера

Строка кода 14: mvc_servlet расширяет HttpServlet.

Строка кода 26: Поскольку используется метод POST, запрос поступает в метод doPost сервлета, который обрабатывает запросы и сохраняет в объект bean-компонента как testobj.

Строка кода 34: Используя объект запроса, мы устанавливаем атрибут как gurubean, которому присваивается значение testobj.

Строка кода 35: Здесь мы используем объект диспетчера запросов для передачи сообщения об успешном завершении в mvc_success.jsp

TestBean.java

демотест пакета;import java.io.Serializable;открытый класс TestBean реализует Serializable {public String getEmail () {ответное письмо;}public void setEmail (String email) {this.email = электронная почта;}public String getPassword () {вернуть пароль;}public void setPassword (String пароль) {this.password = пароль;}частный адрес электронной почты String = "null";частная строка пароль = "ноль";}

Расшифровка кода:

Слой модели:

Строка кода 7-17: содержит средства получения и установки адреса электронной почты и пароля, которые являются членами класса Test Bean.

Строка кода 19-20: определяет адрес электронной почты и пароль членов строкового типа в классе bean-компонента.

Mvc_success.jsp

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ page import = "demotest.TestBean"%> Гуру успеха <%TestBean testguru = (TestBean) request.getAttribute ("gurubean");out.print ("Добро пожаловать" + testguru.getEmail ());%>

Расшифровка кода:

Строка кода 12: мы получаем атрибут с помощью объекта запроса, который был установлен в методе doPost сервлета.

Строка кода 13: мы печатаем приветственное сообщение и идентификатор электронной почты, которые были сохранены в объекте bean.

Выход:

Когда вы выполните приведенный выше код, вы получите следующий результат:

Когда вы нажимаете mvc_example.jsp, вы получаете форму с адресом электронной почты и паролем с кнопкой отправки.

После того, как вы введете адрес электронной почты и пароль в форму, а затем нажмите «Отправить»

После нажатия на «Отправить» результат будет показан ниже.

Выход:

Когда вы вводите адрес электронной почты и пароль на экране и нажимаете кнопку «Отправить», данные сохраняются в TestBean, а из TestBean они извлекаются на следующем экране, чтобы получить сообщение об успешном завершении.

Резюме:

В этой статье мы узнали об архитектуре MVC, т. Е. Model View Controller.

JSP играет роль представления данных и контроллера. Это интерфейс между моделью и представлением, в то время как модель подключается как к контроллеру, так и к базе данных. Основная бизнес-логика присутствует на уровне модели.