Both sides previous revisionPrevious revisionNext revision | Previous revision |
jsf-ru:faq:request_lifecycle [2006/01/22 17:00] – добавлен раздел "ссылки по теме" slonopotamus | jsf-ru:faq:request_lifecycle [2019/06/12 16:08] (current) – external edit 127.0.0.1 |
---|
| |
| |
===== В теории ===== | |
| |
Как нам подсказывает [[google>jsf request lifecycle|Google]] или та же спецификация по JSF, жизненный цикл JSF-запроса выглядит так: | ===== Big Picture ===== |
| {{jsf-ru:faq:jsf-lifecycle.gif}} |
{{.:jsf-request-lifecycle.gif}} | |
| |
И всё бы хорошо, но. Эта модель **не работает**. А конкретно, она не работает тогда, когда к JSF-странице обращаются напрямую по ссылке, а не когда на неё переходят с другой JSF-страницы. В связи с этим, например, приходится жутко извращаться при [[with_jaas|интеграции JSF с JAAS]]. А когда обращаются напрямую, то **все** стадии, помеченные красным (application-level phases), на которых приложению проще всего взаимодействовать с JSF, **пропускаются**. Вас это радует? Меня это откровенно бесит. | |
| |
===== Описание стадий ===== | ===== Описание стадий ===== |
| |
Вывод: если вы хотите, чтобы какой-то кусок кода вызывался при каждом обращении к JSF-приложению (например, вы хотите [[.:with_jaas|защитить]] какие-то страницы от просмотра, то необходимо либо писать фильтр, чтобы запросы к JSF-сервлету проходили сначала через него, либо писать [[.:PhaseListener]], который будет висеть на фазе ''RESTORE_VIEW''. | Вывод: если вы хотите, чтобы какой-то кусок кода вызывался при каждом обращении к JSF-приложению (например, вы хотите [[.:with_jaas|защитить]] какие-то страницы от просмотра, то необходимо либо писать фильтр, чтобы запросы к JSF-сервлету проходили сначала через него, либо писать [[.:PhaseListener]], который будет висеть на фазе ''RESTORE_VIEW''. |
| |
| |
===== Ссылки по теме ===== | ===== Ссылки по теме ===== |
* [[http://www-128.ibm.com/developerworks/java/library/j-jsf2|JSF for nonbelievers: The JSF application lifecycle]] | * [[http://www-128.ibm.com/developerworks/java/library/j-jsf2|JSF for nonbelievers: The JSF application lifecycle]] (англ.) |
| |