JSF против Facelets против JSP

Я не могу получить четкого ответа на конкретную разницу между Java Server Faces и так называемыми facelets. Может ли кто-нибудь дать мне четкий ответ?!?

Кроме того, я понимаю, что JSF или JSP можно использовать для создания динамических веб-страниц, но две, казалось бы, противоречивые детали меня смущают. Я слышал следующее:

  • Этот JSF является заменой JSP; и

  • JSF и JSP формируют различные части представления в веб-уровне Java MVC парадигмы

Итак, что это? Логика диктует, что почти наверняка не может быть и двух!

Ответы

Ответ 1

  • JSF - стандартизованная платформа Java для веб-интерфейсов на основе шаблона MVC
  • JSP - это гораздо более старый стандарт для создания веб-страниц из шаблонов - они могут использоваться как представление в приложении JSF, но также отдельно от JSF.
  • Facelets - альтернативная технология просмотра, основанная на чистых XML-шаблонах (без скриптов), которые были представлены с версией 2 стандарта JSF. Они могут использоваться только в приложении JSF.

В свете этого давайте взглянем на ваши противоречивые утверждения:

Этот JSF является заменой JSP; и

Не совсем верно, поскольку JSF может использовать JSP для своего представления (и должен был, до JSF 2). Однако приложения JSF, использующие Facelets, можно рассматривать как замену для JSP-технологий.

JSF и JSP формируют разные части представления в Java Web-уровне MVC-парадигме

Совершенно неправильно - JSF покрывает весь шаблон MVC (хотя он может перекрываться с EJB, поскольку оба они основаны на аннотациях, которые могут быть смешаны в одном классе).

Ответ 2

Из Статья в Википедии (JSF)

JSF - это веб-платформа MVC , основанная на запросах, на основе модели дизайна пользовательского интерфейса, управляемой компонентами, с использованием XML файлов, называемых шаблонами представлений, или Facelets.,

JSF - это веб-фреймворк, а Facelet - шаблон представления для JSF

Из Статья в Википедии (JSP)

Страницы JavaServer (JSP) - это технология Java, которая помогает разработчикам программного обеспечения динамически создавать веб-страницы на основе HTML, XML,

Также посмотрите на этот раздел Разница между jsf и jsp

Ответ 3

Страницы сервера Java (JSP) - это Java-технология, которая позволяет веб-разработчикам и разработчикам быстро разрабатывать и легко поддерживать, богатые информацией, динамические веб-страницы, которые используют существующие бизнес-системы. Технология JSP отделяет пользовательский интерфейс от создания контента, позволяя дизайнерам изменять общий макет страницы без изменения динамического содержимого.

Лицевые стороны - это первый язык декларации объявлений без JSP, предназначенный для JSF (Java Server Faces), который предоставил разработчикам JSF более простую и более мощную модель программирования по сравнению с JSP, Он решает различные проблемы, возникающие в JSP для разработки веб-приложений.

Вот таблица, которая сравнивает черты scriptsts и facelets:

введите описание изображения здесь Источник