gpt4 book ai didi

Java EE vs JSP vs JSF

转载 作者:IT老高 更新时间:2023-10-28 21:05:49 28 4
gpt4 key购买 nike

我希望学习一种用于开发 Web 应用程序的 Java 技术。当我对此进行深入研究时,我对 感到困惑。 , , 和 .我知道 SO ( post 1 , post 2 ) 上有几个帖子试图解决这些困惑,我还有一些帖子:

  1. 支持 JSF 的 JSP “死”了吗?
  2. 是 JSF 在其上运行的平台 Java EE 还是完全不同的平台?
  3. JSF 仅仅是一个用于开发 Web 应用程序的 MVC 框架吗?
  4. JSF 是由 Oracle 开发的框架,是 Java 的一部分,还是完全是一个单独的框架(很像 Zend Framwork 来自 PHP)?
  5. [Bonus] 你会推荐学习 ?

在您的回答中,请随意将这些技术与 ASP.NET、ASP.NET MVC、Ruby on Rails、Zend Framework 或常规 Java Applet 等技术进行比较,因为这些都是我已经熟悉的东西.

感谢您的宝贵时间。

最佳答案

Is JSP "dead" in favor of JSF?

JSF 比 JSP 有无数的好处。例如:

  • 它定义了一种 MVC 方法
  • 它建立了组件化标准
  • 它具有应用值功能
  • 内置 AJAX
  • 定义的 View 上下文控件
  • 支持 Primefaces 等丰富的接口(interface)扩展

我们可以继续下去。

您仍然可以将 JSP 用于需要特定灵 active 或性能的其他场景,对于 servlet 也是如此,但 JSF 几乎取代了 JSP 用于“健壮”的应用程序。

现在,我是 JSF 的忠实粉丝,但它还有很长的路要走。 JSF 2.2 看起来有点像一个成熟的框架,现在它有一个定义的导航标准 (FacesFlow),而我们在 2.1 中只是有一个内置的文件 uploader ,它甚至不是 AJAX,还有“HTML5”等。是的,还有很多工作要做,我不会在这里详细说明。

根据我的经验,如果与 JSF 和 Spring MVC 等其他框架相比,JSP 实际上是“死的”。 Java EE 7 教程几乎没有提到 JSP。但它并没有死,因为它已经在 Web Containers 中得到支持,你仍然可以使用它。

Is Java EE the platform JSF runs on top of or something different altogether?

JSF 是 Java EE 的一部分,但您不需要完整的 Java EE 配置文件即可使用 JSF。例子:

  • Tomcat 只是一个 Java EE Web Profile 实现,你可以使用Tomcat 中的 JSF。
  • 您可以在 JBoss 中使用 JSF,但您不需要启用 JMS 以使 JSF 工作。

Java EE 组件是模块化的,您只需要一个 Web Profile 服务器/容器即可使用 JSF。

Is JSF merely an MVC framework for developing web applications?

是的(但我不会说只是)。每个人都有自己的优点和缺点。但原理是一样的。

人们可能会争论与 EJB 的集成,但 Spring MVC 与它自己的容器也是如此。

Is JSF a framework developed by Oracle and part of Java, or is it a separate framework altogether (Much like the Zend Framwork is from PHP)?

Oracle 现在委托(delegate)团队定义规范。理论上,您可以根据需要实现自己的 JSF。我不知道 PHP 的 Zend Framework。

最常见的 JSF 实现是 Mojarra 和 MyFaces。 (Luiggi 在这方面打败了我,你可以查看他的链接)。

[Bonus] Would you recommend learning jsp or jsf?

我会推荐两者。首先是 JSP,然后是 JSF。

但我会 100% 推荐您在项目中使用 JSF。但请确保您了解码件化以及使 JSF 成为强大工具的所有内容。

还可以查看 JSF 2.2 new features ,此页面非常适合介绍添加到框架中的最新功能。

关于Java EE vs JSP vs JSF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23707036/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com