Вопрос

Я начинаю с JSF2.0 Я использовал учебник в качестве ссылки, но у меня есть следующий вопрос:

Урок использовал только 2 либера jsf-api.jar, jsf-impl.jar (но также имел JSTL) из проекта Mojarra.

Я также пытался загрузить их также, но кажется, что сайт не доступен. Поэтому я использовал Apache Myfaces, но чтобы запустить пример, мне пришлось добавить 8 банок (commons-*, myfaces-*).
Зачем мне больше банок, если я использую myfaces? Должен ли я предпочесть Мохарру легче? Также страница загрузки действительно JSF Mojarra?

Спасибо

Это было полезно?

Решение

Зачем мне больше банок, если я использую myfaces?

Потому что это commons-* Зависимости не связаны в мифесах. С другой стороны, если вы используете другие библиотеки с Apache.org, которые также используют их commons-* Зависимости, тогда вы в конечном итоге получите меньшие библиотеки общего размера.

Отмечено, что, поскольку Mojarra 2.1.6 в формате файла одного JAR javax.faces.jar доступен.


Должен ли я предпочесть Мохарру более легкой

Это не аргумент. Вы должны посмотреть, насколько надежна и хорошо поддерживается реализация JSF.

Дедушка Мохарры, Sun JSF RI 1.0, и ранние версии RI 1.1 были загромождены неприятными жуками. В этот момент (около 2004-2006) Myfaces определенно была более стабильной альтернативой.

С 1.1_02 и 1.2_02 в начале 2006 года новая команда Sun/Oracle JSF Dev проделала отличную работу. Не только с помощью ошибки, но и с повышением производительности. Примерно на полпути Lifetime Mojarra 1.2 (около 2007-2009 годов) Мохарра была лучшим выбором, чем Myfaces.

Поскольку JSF 2.0, который поставлялся с новым управлением сбережением частичного состояния, Myfaces был мудрым лучшим выбором из -за другого и гораздо более эффективного подхода к расчетам Deltas, особенно при использовании крупных компонентных деревьев. Мохарра догнала только с момента версии 2.1.22. Анкет Во время временной шкалы 2.0/2.1 у Мохарры были только серьезные проблемы с <ui:repeat> в сложных/вложенных композициях (AO Broken State Saving, обработка только последняя итерационная форма, не удалась <f:ajax>, и т. д.) и с Реализация вспышки (Первоначальная реализация была совершенно не пуленой). У Myfaces также был собственный набор ошибок, но они были управляемыми.

Прямо сейчас, с JSF 2.2, нельзя заранее сказать, что лучше. Ошибки часто обнажают только позже, и устойчивость может быть оценена только во время последствий. Просто выберите любую реализацию, которую вы «чувствуете», является лучшим. Просматривайте их отчеты о проблемах (Мифцы а также Мохарра) узнать о ранее фиксированных проблемах и в настоящее время открытых вопросов. Если вы столкнетесь с конкретной ошибкой, попробуйте с обеими реализациями, чтобы исключить одну и другую. При необходимости сообщите, чтобы поддерживать общее качество обеих реализаций.


Также страница загрузки действительно JSF Mojarra?

Их домашняя страница была перемещена несколько раз. В настоящее время (сентябрь 2017) он расположен в https://javaserverfaces.github.io Вы можете найти библиотеки в org.glassfish:javax.faces в Maven Central слишком. Вы можете найти исходный код в javaserverfaces/mojarra Проект в GitHub. Анкет Вы можете найти инструкции по установке в README.md вон там.


Смотрите также:

Другие советы

Ответ приходит из моего блога:

http://lu4242.blogspot.com/2011/06/10-resision-why-choose-myfaces-core-as.html http://lu4242.blogspot.com/2012/05/understandingjsf-2-and-wicket.html

Обновление июля 2013 года: Смотрите серию статей и обновление за 2013 год в JSFCentral:

http://www.jsfcentral.com/articles/understanding_jsf_performance_3.html


На первый взгляд, обе реализации JSF (Myfaces и Mojarra) делают то же самое, потому что они основаны на одном и том же стандарте. Тот факт, что вы можете перейти от одной реализации на другую, является фактом качества стандартной спецификации JSF.

Но внизу есть много причин, почему MyFaces Core 2.x лучше, чем Mojarra. Обратите внимание, что я предатель Myfaces Project, поэтому я дам вам здесь только свою точку зрения:

  • Много вопросов было исправлено. Только в филиале 2.0.x от 2,0,0-альфа до 2,0,7 он был закрыт на 835 выпуска. Это дает «необработанную» меру того, сколько вкладов и обратной связи было предоставлено сообществом за это время. Это цифры для закрытых выпусков за время: 2.0.0-альфа: 274, 2.0.0-бета: 58, 2.0.0-бета-2: 41, 2.0.0-бета-3: 39, 2.0.0 : 51, 2.0.1: 148, 2.0.2: 77, 2.0.3: 63, 2.0.4: 23, 2.0.5: 27, 2.0.6: 29, 2.0.7: 5.

Обновление мая 2012 года: 2.1.0: 47, 2.1.1: 6, 2.1.2: 84, 2.1.3: 9, 2.1.4: 74, 2.1.5: 7, 2.1.6: 35, 2.1.7: 52

  • Сообщество над кодом: Myfaces сообщество имеет значение со многими людьми, имеющими выдающиеся знания о JSF. Подписаться к списку рассылки пользователей и разработчиков - лучший способ узнать, что происходит, получить отзывы и узнать других людей, заинтересованных в JSF. Видеть Myfaces рассылка списка

  • Апач хорошо известен, чтобы взять все от солнца/оракула и сделать его лучше. В этом случае Myfaces Core имеет некоторые прохладные оптимизации по поводу частичного сохранения состояния, композитных компонентов и многого другого!.

  • Myfaces Core - Osgi Friendly. Он предоставляет некоторые интерфейсы SPI для работы со специальными настройками, когда вам нужно больше контроля над классовой загрузкой.

  • Myfaces Core лучше совместимости с Facelets 1.1.x!. Просто установите org.apache.myfaces.refresh_transient_build_on_pss Web Config Param на True, и будет активирован специальный режим. Нет C: Если теги или C: Foreach или UI: включайте больше сломанных!. Обновление мая 2012 года Улучшенный алгоритм был проведен внутри ядра Myfaces, который уменьшает размер состояния даже в деталях, когда Facelets используется для динамического обновления дерева компонентов. Этот параметр больше не нужен.

  • У Myfaces есть другие проекты (Trinidad, Tobago, Tomahawk, Extval, Codi, Orchestra, Portletbridge Ri, ....), что помогает поддерживать настройку кода, потому что все эти проекты тестируют на Myfaces Core, и если есть ошибка, это обращаются быстрее.

  • Вы можете проверить, используя SVN и легко создать любой проект Myfaces, потому что все они на основе Maven, а большинство IDES обеспечивает поддержку Maven.

  • Мохарра в настоящее время (июнь 2011 г.) имеет некоторые неприятные ошибки, связанные с сохранением состояния, которых не имеет Myfaces, потому что его реализация совершенно другая. Фактически, алгоритм частичного сохранения MyFaces обеспечивает лучшую совместимость с сохранением состояний JSF 1.2, чем Mojarra. Но отметьте, ребята Mojarra работают над этим, но исправление, которые займут им месяцы, даже годы.

  • Инновации случаются на мифесах.

Обновление мая 2012 года

Смотрите эту статью 10 причин, почему выберите Myfaces Core в качестве реализации JSF для веб -приложений

Для ребят, которые хотят увидеть сравнение производительности между мифасами, моджарра и калитка Понимание JSF 2 и калитки: сравнение производительности

Обновление июля 2013 года

Сравнение было расширено, чтобы включить другие рамки, такие как Spring MVC, Grails 2 и Wicket. Смотрите статью на JSFCentral: Обновление июля 2013 года на JSFCentral

Я бы сказал, что это действительно не имеет значения.

Недавно я запустил проект JSF 2.0, используя Myfaces и Primefaces. На прошлой неделе, чтобы расследовать ошибку, я попытался запустить ее на Мохарре. Все, что потребовалось, это обмен банками и удаление записей, специфичных для мифей, в web.xml - и все работало без каких -либо проблем. По общему признанию, это был прототип, который не использует всю функциональность JSF, но я был очень впечатлен этой демонстрацией совместимости посредством соответствия стандартам.

Зачем мне больше банок, если я использую myfaces?

  • Myfaces-Impl и Myfaces-API-банки являются эквивалентом JSF-IMPL и JSF-API Мохарры.
  • Myfaces-Bundle содержит оба из них для удобства, вам нужны либо это или два других, а не все три.
  • Commons-*-это библиотеки, которые содержат полезную основную функциональность для борьбы с коллекциями, бобами Java и т. Д., что в противном случае нужно было бы повторно (вероятно, медленнее и с большим количеством ошибок). Многие другие проекты также используют их.

Я обычно придерживаюсь реализации Mojarra, если нет никакой причины пойти с чем -то другим. Я использую NetBeans, поэтому легко использовать настройку проекта «по умолчанию», которая использует моджарру, бегущую под стеклянной рыбкой.

Последнее, что я использовал MyFaces, это было потому, что я думал об использовании Tomahawk, и казалось разумным использовать реализацию JSF из того же источника. Однако вместо этого я перешел на Primefaces, и это прекрасно работает под Мохаррой.

Прямо сейчас, кажется, существует много разработок с тем, что библиотеки компонентов JSF-2.0 появятся в Интернете. Таким образом, вы должны учиться и иметь возможность переключаться между реализациями JSF на случай, если что -то пойдет не так.

Причина, по которой у Myfaces больше банок, заключается в том, что он имеет больше функциональности, чем просто эталонная реализация.

Какой IDE вы используете? Если вы используете Eclipse, то он будет загружать банки при создании проекта JSF 2.0. Проверь это http://www.icesoft.org/training/icefaces-sele-sere-shriange.jsf

Нет большой разницы между моджаррой и мифесами. Вы можете проверить, какой из них является более стабильной версией. Как сказал Балус, Myfaces является самой стабильной версией (в 2005-2006 годах). Кроме того, многие люди начали использовать Mojarra после 2.0, потому что она стала стабильной по сравнению с Myfaces

У меня были серьезные головные боли с Mojarra (2.2.8), странные поведения, такие как методы Ajax, работающие только после второго взаимодействия с пользователем из -за предыдущих обновлений формы. Все прошло с мифесами.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top