Java EE 6: JSF по сравнению с Сервлетом + JSP. Я должен потрудиться изучать JSF?

Я пытаюсь познакомиться с Java EE 6 путем чтения http://java.sun.com/javaee/6/docs/tutorial/doc/gexaf.html. Я немного смущен использованием JSF.
Обычно, способ, которым я разрабатываю свое веб-приложение, был бы, Сервлет будет действовать как контроллер, и JSP действовал бы как Представление в модели MVC. JSF пытается заменить эту структуру? Ниже кавычка из вышеупомянутого учебного руководства:

Сервлет подходит лучше всего для Приложения для обслуживания широкого круга запросов и функции управления ориентированным на презентацию Приложением как диспетчеризация запроса
JSF и Facelet более адаптированы для генерации разметки как XHTML и обычно используются для ориентированного на презентацию Приложения

Не уверенный, если я понимаю вышеупомянутую кавычку слишком хорошо, они не объяснили слишком хорошо, что для обслуживания широкого круга запросов по сравнению с ориентированным на презентацию.

Приложение Поверхностей JavaServer может отобразить Запросы HTTP на обработку событий, зависящую от компонента, и управлять компонентами как объектами с сохранением информации на сервере.

Какой-либо хорошо осведомленный Java-разработчик там может дать мне быстрый обзор о JSF, JSP и Сервлете? Я интегрирую их всех, или я использую их разделенная основа на Приложении? раз так затем, какой использование приложения JSF в отличие от Сервлета и JSP

Приложение Поверхностей JavaServer может отобразить Запросы HTTP на обработку событий, зависящую от компонента, и управлять компонентами как объектами с сохранением информации на сервере.

Походите на то, в чем сервлет может сделать, но не уверенный manage components as stateful objects on the server. Даже уверенный, что это означает?Заранее спасибо.

33
задан BalusC 1 August 2011 в 11:47
поделиться

4 ответа

JSF позволяет разрабатывать веб-приложения только с объектами модели (JavaBeans) и представлениями (страницы JSP / XHTML). С «обычным ванильным» JSP / сервлетом вам придется ввести много кода для управления, предварительной обработки, постобработки, сбора данных, проверки, преобразования, прослушивания и т. Д. HTTP-запроса и ответа. И тогда я не говорю о его рефакторинге до высокой (абстрактной) степени, чтобы вы могли закончить так же, как JSF (просто класс JavaBean и страница JSP / XHTML для каждого варианта использования).

Я уже публиковал более подробный ответ на эту тему раньше: В чем разница между JSF, Servlet и JSP?

31
ответ дан 27 November 2019 в 18:26
поделиться

JSF Framework нацелена на упрощение интеграции разработки пользовательских веб-интерфейсов. Как заявил @bozho, вы можете смешивать JSP и JSF. Однако компонент «представления» в JSF - это фейсклеты, которые можно рассматривать как маленькие виджеты пользовательского интерфейса, которые более или менее самодостаточны в отношении стиля DHTML и генерации событий JavaScript и обратного вызова.

«Стоит ли мне учиться ...?»

Не уверен. Я не видел, чтобы JSF набирал столько оборотов, хотя он существовал (по крайней мере в теории) последние 5 лет.

2
ответ дан 27 November 2019 в 18:26
поделиться

В JSF используется один конкретный сервлет (сервлет Faces) для обработки всех входящих запросов и отправки их соответствующим bean-компонентам.

JSF - это компонентная среда MVC, а JSP - это технология просмотра.
Вы можете использовать JSP с JSF, хотя Facelets является предпочтительной технологией просмотра.

10
ответ дан 27 November 2019 в 18:26
поделиться

JSF предоставляет уровень абстракции с несколькими обязанностями, но, что наиболее важно, он обрабатывает все беспорядочные детали форм HTML и передачу данных между веб-страницами и Java-компонентами POJO (методы getX, setX), что, как известно, сложно сделать. Правильно.

Он также обеспечивает навигацию, а в последнем воплощении в Java EE 6 доступна элементарная поддержка AJAX, позволяющая просто обновлять веб-страницу по мере ввода данных пользователем.

Возможно, вам будет проще думать об этом как о способе избежать написания JavaScript самостоятельно.

4
ответ дан 27 November 2019 в 18:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: