В структуре JSF MVC, которая является Model, View и Controller?
Какие компоненты MVC в структуре JSF MVC?
Ответ 1
Это зависит от точки зрения (pun intented).
В большой архитектурной картине ваш собственный JSF-код - V:
M - Бизнес-домен/Уровень обслуживания (например, EJB/JPA/DAO)
V - Ваш код JSF
C - FacesServlet
В изображении разработчика архитектурный V в свою очередь делится следующим образом:
M - Объект
V - Лицевые стороны/страница JSP
C - управляемый bean
В маленьком клиентском изображении разработчик V в свою очередь делится следующим образом:
M - дерево компонентов JSF
V - Полученный вывод HTML
C - Клиент (веб-браузер)
В еще меньшем изображении JavaScript клиент V в свою очередь делится следующим образом:
M - дерево HTML DOM
V - Визуальная презентация
C - функции прослушивателя событий (взаимодействие с конечным пользователем и Ajax)
Итак, это в основном M (M (M (MVC) C) C) C;)
Обратите внимание, что некоторые стартеры и даже некоторые из них - очень простые — tutorials mingle/copy/flatten свойства сущности в управляемом bean, что фактически сделало бы контроллер моделью. Излишне говорить, что это плохой дизайн (т.е. Не простой дизайн MVC).
Фрагменты кода в следующих ответах иллюстрируют правильный подход MVC:
- JSF-контроллер, служба и DAO
- Создание страниц главной страницы для сущностей, как их связать и какую область bean выбрать
- Передача управляемого jSF2 pojo bean в EJB или помещение того, что требуется в объект передачи
- Фильтр не инициализирует EntityManager
- javax.persistence.TransactionRequiredException в малом приложении facelet
Ответ 2
M odel будет вашим ManagedBean
V iew будет jsp
, XHTML
(ну вы можете вместить различные виды здесь)
C ontroller будет FacesServlet
Обновить, надеюсь, что это изображение поможет больше
Ответ 3
Сервлет лиц управляет жизненным циклом лиц, поэтому в этом смысле контроллер сочетается с вашим собственным кодом, который может быть вызван во время каждой фазы жизненного цикла
Ответ 4
Java Server Faces - это веб-инфраструктура MVC, в которой компоненты MVC выглядят следующим образом:
-
Модель - это класс управляемого компонента, аннотируемый @ManagedBean, который имеет свойства для хранения данных и соответствующих методов получения и установки. Класс управляемого компонента также может содержать бизнес-логику. Они также известны как резервные компоненты, которые могут иметь различные области действия, такие как запрос, сеанс, приложение.
-
Вид - пользовательский интерфейс, отображаемый для клиента, т.е. файлы .xhtml. Он получает данные из управляемых bean-компонентов и отображается как ответ.
-
Контроллер - javax.servlet.webapp.FacesServlet - это класс централизованных контроллеров, который в основном является сервлетом. Любой запрос, который приходит к JSF, сначала направляется в контроллер FacesServlet. В отличие от JSP, в котором мы пишем свой собственный класс контроллера, в JSF сервлет контроллера является фиксированной частью фреймворка, и мы его не пишем.