Какие компоненты являются MVC в рамках JSF MVC? - PullRequest
94 голосов
/ 24 февраля 2011

В среде JSF MVC кто такие Модель, Представление и Контроллер?

Ответы [ 4 ]

142 голосов
/ 24 февраля 2011

Это зависит от точки зрения (намерение каламбура).

На большом архитектурном рисунке ваш собственный код JSF - это V :

M - бизнес-домен / уровень обслуживания (например, EJB / JPA / DAO)
V - Ваш код JSF
C - FacesServlet

На изображении разработчика архитектурный V , в свою очередь, делится, как показано ниже:

M - Сущность
V - Facelets / JSP page
C - Управляемый боб

На меньшем клиентском изображении разработчик V , в свою очередь, делится, как показано ниже:

M - дерево компонентов JSF
V - Рендеринг вывода HTML
C - Клиент (веб-браузер)

На еще меньшем изображении JavaScript клиент V , в свою очередь, делится, как показано ниже:

M - дерево HTML DOM
V - Визуальное представление
C - Функции прослушивателя событий (взаимодействие с конечным пользователем и Ajax)

Так что это в основном M (M (M (MVC) C) C) C;)

Обратите внимание, что некоторые закуски и даже некоторые - очень простые & mdash; учебные пособия смешивают / копируют / выравнивают свойства сущности в управляемом компоненте, что фактически делает контроллер моделью. Само собой разумеется, что это плохой дизайн (то есть не чистый дизайн MVC).

Фрагменты кода в следующих ответах иллюстрируют правильный подход MVC:

В книге Полное руководство по JSF в Java EE 8 , в главе 8 "Задние компоненты", стр. 276, приведенная ниже диаграмма Венна используется для иллюстрации положения компонента поддержки в MVC парадигма в контексте, относящемся к разработчику JSF. Отказ от авторских прав: книга написана мной, а фотография создана мной.

enter image description here

36 голосов
/ 24 февраля 2011

M odel будет вашим ManagedBean

V iew будет jsp, XHTML (хорошо вы можете разместить здесь различные виды)1010 *

C Контроллер будет FacesServlet

Обновление, надеюсь, эта картина поможет больше

enter image description here

4 голосов
/ 30 ноября 2012

Сервлет лица управляет жизненным циклом лица, поэтому в этом смысле именно контроллер в сочетании с вашим собственным кодом может вызываться на каждом этапе жизненного цикла

http://www.java -samples.com / images /JSF-lifecycle.gif

0 голосов
/ 10 января 2019

Java Server Faces - это веб-инфраструктура MVC, в которой компоненты MVC имеют следующий вид:

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

  2. Просмотр -Пользовательский интерфейс, показанный клиенту, т.е. файлы .xhtml.Он получает данные из управляемых bean-компонентов и отображается как ответ.

  3. Controller - javax.servlet.webapp.FacesServlet - это класс централизованных контроллеров, которыйв основном сервлет.Любой запрос, который приходит к JSF, сначала направляется в контроллер FacesServlet.В отличие от JSP, в котором мы пишем свой собственный класс контроллера, в JSF сервлет контроллера является фиксированной частью платформы, и мы не пишем его.

MVC flow-

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...