2010-08-11 3 views
0

Я новичок в Java EE 6. Я начал с JSF 2.0, Facelets, Managed Beans и очень понравился. Это был отличный переход от JSP и сервлетов. Это также смутило меня. Возможно, это недостаток моих знаний, но у меня много вопросов, закрученных в моем сознании.JSF 2.0 (Facelets) и Struts

Лицо и управляемые бобы - прямая замена JSP и сервлетов. (Требование к работе здесь по-прежнему сосредоточено на JSP и сервлетах, будет ли тенденция к рынку/глобальному тренду двигаться к Facelets или спрос на JSP останется)

Как насчет интеграции Struts 2.0, Hibernate и Spring с Java EE 6. У меня есть видел множество учебников и рабочих примеров этих технологий с JSP, но не использовал их с Facelets.

ответ

1

Struts 1 был структурой, которая добавила дополнительную структуру над приложением JSP/сервлета. Я бы разработал с Struts в предпочтении необработанного JSP, и на самом деле многие разработчики, использующие JSP до появления Struts, разработали свои собственные эквивалентные структуры.

JSF фактически является стандартным эквивалентом Struts 1, развитие которого сильно зависело от создателей Struts. Таким образом, JSF является более или менее прямой заменой Struts, что в принципе должно широко поддерживаться поставщиками приложений Java EE App Server. Принятие JSF не является однородным, есть энтузиасты пользователей и другие люди, которые придерживаются Struts 1. У меня нет статистики, чтобы рассказать вам, какие технологии более широко используются.

Как Struts, так и JSF, а также модели Model/View/Controller, и ни один из них не описывает, как реализовать модель - в частности, они не говорят о персистентности, поэтому вам нужно что-то в дополнение к Struts/JSF, где находится Hibernate и JPA.

По моему мнению, возникающая тенденция заключается в создании пользовательских интерфейсов с использованием Dojo или JQuery с сервисами REST. Похоже, Struts 2 пытается решить этот проблемный домен с богатыми виджетами в браузере. Это интересно и стоит изучать. Лично я не использовал Struts 2, и я не сталкивался с этим профессионально, возможно, потому, что я работаю с продуктами, которые являются основными для Dojo и iWidgets. Я планирую обратить внимание на Struts 2.

+0

он говорил о struts2, а не стойках, я думаю, что это разница. – Johannes

4

Мое личное мнение:

  1. JSF построен на вершине JSP/Servlet - это на самом деле не замена, но более высокий уровень абстракции.
  2. Идеи в Hibernate и Spring как-то интегрированы под JPA и CDI.
  3. Базовые знания JSP/Servlet по-прежнему полезны, что не нужно, это знание JSTL.

Тем не менее, есть две основные категории веб-основы: компонент на основе и действия на основе. JSF является компонентом, и каждый компонент несет ответственность за свои собственные рендеринг и обратные вызовы. Struts - это действие, основанное на действии, когда контроллер явно просматривает представление. Оба они могут рассматриваться как MVC, но подход существенно отличается от двух. Существуют другие структуры обоих типов (калитка, игра и т. Д.)

Какой подход лучше всего подлежит вкусу и мнению.

Смежные вопросы