首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mojarra和MyFaces的区别

Mojarra和MyFaces的区别
EN

Stack Overflow用户
提问于 2010-12-26 00:13:27
回答 7查看 49.9K关注 0票数 48

我是从JSF2.0开始的,我使用了一个教程作为参考,但我有以下问题:

本教程仅使用了两个库:jsf-api.jarjsf-impl.jar (但也有来自Mojarra Project的JSTL)。

我也试图下载它们,但似乎无法访问该网站。所以我使用了Apache MyFaces,但是为了运行这个例子,我必须添加8个jar (commons-*myfaces-*)。

如果我使用MyFaces,为什么我需要更多的jars?我应该更喜欢Mojarra作为清淡的吗?而且下载页面真的是JSF Mojarra吗?

谢谢

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-12-26 11:15:51

如果我使用MyFaces为什么我需要更多的jars?

因为这些commons-*依赖项没有捆绑在MyFaces中。另一方面,如果您使用的是Apache.org中的其他库,这些库也使用这些commons-*依赖项,那么最终得到的库的总大小会更小。

应该注意的是,从Mojarra 2.1.6开始,可以使用单一的JAR文件格式javax.faces.jar,因为Mojarra 2.3.9将其重命名为jakarta.faces.jar

我应该更喜欢Mojarra的清淡吗?

这是一个非参数。您应该看看JSF实现的健壮性和可维护性。

Mojarra的鼻祖Sun JSF RI 1.0和RI 1.1的早期版本都被令人讨厌的bug弄得乱七八糟。在那个时刻(大约在2004-2006年),MyFaces无疑是更稳定的选择。

自从2006年初的1.1_02和1.2_02以来,新的Sun/Oracle JSF开发团队做了大量的工作。不仅具有错误修复功能,还具有性能增强功能。在Mojarra 1.2生命周期的中途(大约2007-2009年),Mojarra是比MyFaces更好的选择。

由于JSF2.0提供了新的部分状态保存管理,因此MyFaces在性能方面是更好的选择,因为它采用了一种不同且更有效的方法来计算状态增量,尤其是在使用大型组件树时。Mojarra是从2.1.22版本开始才赶上的。在2.0/2.1时间线中,Mojarra只有在复杂/嵌套的组合中存在严重的问题(a.o.中断状态保存,仅处理最后一次迭代的表单,失败的<f:ajax>等)和flash scope implementation (初始实现完全不是防弹的)。MyFaces也有自己的一组but,但它们是可控的。

现在,对于JSF 2.2,人们不能提前说出哪一个更好。Bug通常只能在以后才暴露出来,健壮性只能在事后才能评估。只要选择你“感觉”最好的实现。浏览他们的问题报告(MyFacesMojarra),了解以前已修复的问题和当前未解决的问题。如果您遇到特定的bug,请尝试使用这两种实现来排除其中一个。必要时报告,以保持两个实现的整体质量较高。

下载页面也确实是

他们的主页已经被移动了好几次。目前(2019年11月)它位于https://eclipse-ee4j.github.io/mojarra。您也可以在org.glassfish:jakarta.faces in Maven Central中找到这些库。您可以在eclipse-ee4j/mojarra project in GitHub中找到源代码。

另请参阅:

票数 74
EN

Stack Overflow用户

发布于 2011-06-25 12:01:41

答案来自我的博客:

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

更新2013年7月:请访问JSFCentral查看系列文章和2013年更新:

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

乍一看,两个JSF实现(MyFaces和Mojarra)都做同样的事情,因为它们基于相同的标准。您可以从一种实现更改到另一种实现,这是JSF标准规范质量的事实。

但实际上,MyFaces Core2.x比Mojarra更好的原因有很多。请注意,我是MyFaces项目的提交者,因此我将在这里仅给您我的观点:

  • 修复了许多问题。仅在2.0.x分支中,从2.0.0-alpha到2.0.7,它已经关闭了835个问题。这给出了社区在一段时间内提供了多少贡献和反馈的“原始”度量。以下是一段时间内已结束问题的数字: 2.0.0-alpha: 274,2.0.0-beta: 58,2.0.0-beta-2: 41,2.0.0-beta-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。

更新: 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社区中有很多对MyFaces有出色知识的人。向用户和开发人员发送邮件列表是了解正在发生的事情、接收反馈和了解其他对JSF感兴趣的人的最好方式。众所周知,MyFaces Mailing Lists
  • Apache会从Sun/Oracle那里获取一切并使其变得更好。在这种情况下,more!.
  • MyFaces核心在部分状态保存、复合组件和许多OSGi友好的MyFaces核心方面进行了一些很酷的优化。它提供了一些SPI接口来处理特殊的设置,当你需要更多的控制classloading.
  • MyFaces核心有更好的兼容性与facelets 1.1.x!。只需将org.apache.myfaces.REFRESH_TRANSIENT_BUILD_ON_PSS web配置参数设置为true,一个特殊的模式就会被激活。没有c:if标记或c:forEach或ui:include broken!更新2012年5月在MyFaces核心内部完成了一种改进的算法,当使用facelets动态更新组件树时,即使在部分情况下也可以减少状态大小。这个参数不再是necessary.
  • MyFaces有其他项目(特里尼达岛,多巴哥岛,战舰,ExtVal,CODI,交响乐团,PortletBridge RI,...)这有助于保持代码的优化,因为所有这些项目都是针对MyFaces核心进行测试的,如果有错误,它会得到更快的处理。
  • 你可以使用svn签出并轻松构建任何MyFaces项目,因为所有这些项目都是基于maven的,而且大多数IDE都提供了maven当前(2011年6月)有一些与状态保存相关的令人讨厌的错误,而MyFaces则没有,因为它的实现完全不同。事实上,与Mojarra相比,MyFaces部分状态保存算法提供了与JSF1.2状态保存更好的兼容性。但请注意,Mojarra的人正在努力解决这个问题,但解决这个问题需要他们几个月的时间,甚至years.
  • Innovation也会在MyFaces上发生。

更新2012年5月

请参阅本文10 reason why choose MyFaces Core as JSF implementation for web applications

对于那些想要查看MyFaces、Mojarra和Wicket之间性能比较的人来说,可以看看Understanding JSF 2 and Wicket: Performance Comparison

更新2013年7月

这种比较被扩展到包括其他框架,如Spring MVC、Tapestry、Grails 2和Wicket。请参阅JSFCentral上的文章:Update JUL 2013 at JSFCentral

票数 45
EN

Stack Overflow用户

发布于 2010-12-26 02:55:50

我会说,这真的无关紧要。

我最近使用Myfaces和Primefaces启动了一个JSF2.0项目。上周,为了调查一个bug,我尝试在Mojarra上运行它。所要做的就是交换JAR并删除web.xml中特定于Myfaces的条目--一切都正常工作,没有任何问题。诚然,这是一个没有使用所有JSF功能的原型,但我对这种通过标准遵从性实现兼容性的演示印象非常深刻。

如果我使用MyFaces为什么我需要更多的jars?

jsf-impl和myfaces-api相当于Mojarra的

  • -impl,为了方便起见,jsf包含了这两个jsf-impl和jsf-impl。并不是所有的jsf都是包含有用的基本功能的库,用于处理集合、Java bean等,否则就必须重新实现(可能会更慢,有更多的bug)。许多其他项目也在使用它们。
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4530746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档