Я занимаюсь разработкой веб-приложения java EE с использованием JSF со стилем корзины покупок, поэтому я хочу собрать пользовательский ввод на нескольких страницах, а затем что-то сделать с ним.
Я подумалдля этого используйте сессионный компонент EJB 3 с отслеживанием состояния, но мое исследование заставляет меня полагать, что SFSB не привязан к http-сеансу клиента, поэтому мне придется вручную отслеживать его через httpSession, некоторые побочные вопросы здесь.,.
1) Почему он называется сессионным компонентом, насколько я понимаю, он не имеет ничего общего с сеансом, я мог бы добиться того же, сохраняя в сеансе pojo.
2) Какой смысл быть в состоянии ввести его, если все, что я собираюсь ввести, - это новый экземпляр этой SFSB, тогда я мог бы также использовать pojo?
Итак, вернемся к основной проблеме.Я вижу, что во всем написано, что JSF - это технология представления, поэтому ее не следует использовать для логики, но она кажется идеальным вариантом для сбора пользовательского ввода.
Я могу установить bean-объект области действия JSF в качестве управляемого свойстваиз всех моих bean-компонентов запроса, что означает, что он внедряется в них, но в отличие от SFSB, bean-объект управляемой сессии JSF привязан к сеансу http, поэтому один и тот же экземпляр всегда внедряется, пока сеанс http не был аннулирован.
Таким образом, у меня есть несколько уровней
1-й уровень) JSF-управляемые объекты EJB, имеющие дело с презентацией, по 1 на страницу.
2-й уровень) JSF-управляемый сеанс scbean-компонент oped, в котором установлены значения с помощью bean-компонентов запроса.
3-й уровень) EJB сеанса без сохранения состояния, который выполняет логику для данных в bean-объекте области сеанса JSF.
Почему это так плохо?
Альтернативный вариант - использовать SFSB, но затем мне нужно внедрить его в исходный объект bean-компонента, а затем сохранить его в сеансе http и вернуть обратно вкаждый последующий компонент запроса - просто кажется беспорядочным.
Или я мог бы просто сохранить все в сеансе, но это не идеально, так как оно включает использование литеральных ключей и приведение типов.и т. д. и т. д., который подвержен ошибкам.,,и беспорядок!
Любые мысли оценены Я чувствую, что я борюсь с этой технологией, а не работаю с ней.
Спасибо