【问题标题】:JSF 2.0 (Facelets) and StrutsJSF 2.0(Facelets)和 Struts
【发布时间】:2011-03-28 05:53:34
【问题描述】:

我是 Java EE 6 的新手。我从 JSF 2.0、Facelets、Managed Beans 开始并且非常喜欢它。这是从 JSP 和 servlet 的一个很好的转变。这也让我成为一个迷茫的人。这可能是我的知识不足,但我有很多问题在我脑海中盘旋。

Facelets 和托管 bean 是 JSP 和 Servlet 的直接替代品吗? (这里的工作需求还是以JSP和Servlets为主,是市场/全球趋势向Facelets移动还是JSP需求不变)

Struts 2.0、Hibernate 和 Spring 与 Java EE 6 的集成怎么样?我已经看过很多关于这些技术与 JSP 的教程和工作示例,但没有使用 Facelets。

【问题讨论】:

    标签: jsf jakarta-ee struts2 facelets jsf-2


    【解决方案1】:

    Struts 1 是一个在 JSP/servlet 应用程序之上添加额外结构的框架。我会优先使用 Struts 进行开发而不是原始 JSP,事实上,在 Struts 出现之前,许多使用 JSP 的开发人员都发展了自己的等效框架。

    JSF 实际上是 Struts 1 的标准化等价物,Struts 的开发深受 Struts 创始人的影响。所以 JSF 或多或少是 Struts 的直接替代品,原则上应该得到 Java EE App Server 供应商的广泛支持。 JSF 的采用并不统一,有热情的用户,也有其他人坚持使用 Struts 1。我没有统计数据可以告诉你哪些技术使用得更广泛。

    Struts 和 JSF 以及 Model/View/Controller 框架,都没有解决如何实现模型 - 特别是它们没有说太多关于持久性的内容,因此除了 Struts/JSF 之外你还需要一些东西,这是 Hibernate 和JPA进来吧。

    在我看来,新兴趋势是使用 Dojo 或 JQuery 和 REST 服务构建 UI。Struts 2 似乎正在尝试解决这个问题域,在浏览器中使用丰富的小部件。这很有趣,值得研究。就我个人而言,我没有使用过 Struts 2,也没有专业地遇到过它,可能是因为我正在使用主要针对 Dojo 和 iWidgets 的产品。我打算给 Struts 2 一些关注。

    【讨论】:

    • 他说的是struts2而不是struts,我认为这是有区别的。
    【解决方案2】:

    我的个人看法:

    1. JSF 构建在 JSP/Servlet 之上——它并不是真正的替代品,而是更高层次的抽象。
    2. Hibernate 和 Spring 中的想法以某种方式集成在 JPACDI 下。
    3. JSP/Servlet的基础知识还是有用的,JSTL知识就不要了。

    也就是说,网络框架有两大类:基于组件的基于动作的。 JSF 是基于组件的,每个组件负责自己的渲染和回调。 Struts 是基于动作的,控制器显式地转发到视图。两者都可以看作是 MVC,但两者之间的方法有很大不同。还有其他两种类型的框架(检票口、比赛等)

    哪种方法最好取决于品味和意见。

    【讨论】:

      猜你喜欢
      • 2010-12-28
      • 2012-04-19
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 2014-07-16
      • 2012-01-29
      相关资源
      最近更新 更多