一尘不染

Java EE vs JSP vs JSF

jsp

我希望学习用于开发Web应用程序的Java技术。当我进一步研究时,我对jsf](file:///C:/questions/tagged/jsf
“显示标记为“ jsf”的问题”),jspjavaee感到困惑。)试图解决这些困惑

  1. JSP是否支持JSF?
  2. Java EE是JSF平台之上运行还是完全不同?
  3. JSF仅仅是用于开发Web应用程序的MVC框架吗?
  4. JSF是由Oracle开发并且是Java的一部分的框架,还是完全独立的框架(就像Zend Framwork来自PHP)?
  5. [奖金]您会建议学习jspjsf吗?

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

感谢您的时间。


阅读 229

收藏
2020-06-08

共1个答案

一尘不染

JSP是否支持JSF?

与JSP相比,JSF具有无数好处。例如:

  • 它定义了一种MVC方法
  • 建立组件化标准
  • 具有应用价值功能
  • 内建AJAX
  • 定义的视图上下文控件
  • 允许丰富的界面扩展,例如Primefaces

我们可以继续下去。

您仍然可以将JSP用于需要某些特定灵活性或性能的其他场景,并且对于servlet同样使用,但是JSF几乎将JSP替换为“健壮”的应用程序。

现在,我是JSF的忠实拥护者,但是还有很长的路要走。现在,JSF 2.2有点像成熟的框架,它具有已 定义的导航标准
FacesFlow),而我们在2.1中只有一个内置的文件上传器,甚至没有AJAX,还有“
HTML5”等。所以,还有很多工作要做,我在这里不做详细介绍。

以我的经验,与JSF和其他框架(如Spring MVC等)相比,JSP实际上是“死胡同”。Java EE
7教程几乎没有涉及JSP。但是,它并不是万无一失,因为Web容器已支持它,并且您仍然可以使用它。

Java EE是JSF平台之上运行还是完全不同?

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

  • Tomcat只是Java EE Web Profile实现,您可以在Tomcat中使用JSF。
  • 您可以在JBoss中使用JSF,但不需要启用JMS即可运行JSF。

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

JSF仅仅是用于开发Web应用程序的MVC框架吗?

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

有人可能会争论与EJB的集成,但是带有自己的容器的Spring MVC也是这样。

JSF是由Oracle开发并且是Java的一部分的框架,还是完全独立的框架(就像Zend Framwork来自PHP)?

Oracle现在委托团队来定义规范。从理论上讲,您可以根据需要实现自己的JSF。我不了解PHP的Zend Framework。

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

[奖金]您会建议学习jsp或jsf吗?

我都推荐。首先是JSP,之后是JSF。

但是我100%建议您在项目中使用JSF。但是请确保您了解组件化以及使JSF成为强大工具的所有知识。

还可以查看JSF 2.2的新功能,该页面非常棒,它介绍了添加到框架的最新功能。

2020-06-08