как MVC реализован у jsf
Пытаюсь понять как подход MVC реализован у jsf. Где модель, где контроллер, где вид? Для меня это как то размыто.
Если рассматривать простое приложение из одной xhtml страницы и одного бина для нее, то где конкретно что?
- xhtml страница очевидно это вид.
- Бин очевидно модель т.к. в нем содержится основная бизнес логика. (+ на его поля ссылается вид, а вид достает данные из модели).
- Однако, бин так же и контроллер, т.к. на его методы ссылается вид для совершения действий.
- Правильно ли я определил что вид это xhtml страница?
- Бин это модель или контроллер?
- Надо ли создавать бин-модель, который содержит бизнес логику и на который ссылается вид, и второй бин-контоллер, на который будет ссылаться вид для обработки действий пользователя? Или как правильно решить проблему разноса бизнес логики и логики контроллера.
- Какая логика вобще должна присутствовать в контроллере? Можно ли считать что контроллеры "запрятаны" в реализацию jsf, а методы на которые ссылается вид это нормальные методы модели и к контролеру не относятся?
- Что вообще в jsf есть контроллер, что есть модель, что есть вид?