Каковы основные компоненты динамического веб-приложения на Java и как к ним относятся JSF2.0 Facelets и Myfaces? - PullRequest
0 голосов
/ 08 января 2012

Я не веб-разработчик, но я знаю некоторые основы, я не знаю, что такое Apache и Facelets Myfaces и как они связаны с JSF2.0. Я сделал свою домашнюю работу и вики, погуглил их, но это все еще сбивает с толку. Насколько я знаю, для разработки динамического веб-приложения на основе Java я буду использовать некоторые из следующих:

  • Сам язык Java
  • База данных (Mysql, оракул и т. Д.)
  • БД ORM (постоянство Java -> EclipseLink, Hibernate и т. Д.)
  • Сервер приложений (Jboss, Glassfish, Apache с Tomcat и т. Д.), Верно ??
  • Я немного знаю о JSP и сервлетах и ​​работал над учебником по JSF2.0, а также читал, что есть альтернативы, такие как Spring, Struts, но они не входят в сферу этого вопроса.
  • Но Myfaces, Facelets (что, как, где они принадлежат) ??
  • Асинхронный обмен данными (Ajax)
  • Внешний интерфейс (HTML, Css, Javascript, Jquery и т. Д.)

Ответы [ 2 ]

3 голосов
/ 08 января 2012

Java много работает со спецификациями. Общая спецификация предприятия называется Java EE и содержит спецификацию, в частности, для JSF.

Технические характеристики имеют реализации. Например, JBoss AS и GlassFish реализуют Java EE в целом. Они делают это путем сочетания собственной разработки и включения (связывания) частей, которые также являются отдельными проектами и разрабатываются индивидуально.

Например, JSF реализуется двумя основными проектами: Mojarra и MyFaces (предположительно существует также независимая китайская реализация, но она не известна и труднодоступный)

Из этих реализаций Мохарра имеет особый статус; это эталонная реализация (RI).

Mojarra поставляется вместе с JBoss AS в качестве реализации JSF по умолчанию и с GlassFish в качестве единственной реализации. MyFaces также поставляется с JBoss AS, но его нужно явно выбрать. Кроме того, MyFaces поставляется с реализациями Apache Java EE: Geronimo и TomEE.

В JSF язык шаблонов, используемый для составных представлений (страниц), является подключаемым. Это называется VDL (View Description Language). В прошлом JSP использовался для этого, но из-за этой возможности подключения сторонние разработчики могли реализовать свои собственные. Например, см. Создание страниц JSF на чистом Java и JavaFX как JSF VDL (язык описания представлений)? . Абсолютно самым популярным из всех этих альтернативных VDL были Facelets. Смотрите, например эта статья 2006 года: Facelets подходят как перчатки JSF

Из-за почти полной непригодности JSP и невероятной популярности Facelets JSF EG решила принять Facelets и включить это в JSF 2.0.

Таким образом, и Mojarra 2.x, и MyFaces 2.x включают Facelets по умолчанию. Это полная и официальная часть JSF 2.0.

Наконец, Tomcat - это не реализация Java EE, а контейнер сервлетов. Это не связывает ничего кроме Servlet и JSP. Тем не менее, вы можете создать свой собственный стек поверх него, а затем решить связать его с Mojarra или MyFaces. Опять же, помните, что вам НЕ нужно связывать Facelets отдельно при использовании версии JSF 2.x, так как оба УЖЕ ВКЛЮЧАЮТ Facelets.

1 голос
/ 08 января 2012

JSF 2.0 - это спецификация, Facelets теперь являются частью JSF 2.0 (до 2.0 это была отдельная библиотека), Myfaces - это реализация JSF2.0 от Apache.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...