Is JSP “dead” in favor of JSF?
JSF与JSP有很多好处。例如:
>它定义了一个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容器中支持,你仍然可以使用它。
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实现,可以使用
JSF在Tomcat中。
>您可以在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现在委派团队来定义规范。理论上说,你可以实现你自己的JSF。我不知道PHP的Zend框架。
最常见的JSF实现是Mojarra和MyFaces。 (Luiggi现在打败我,你可以查看他的链接)。
[Bonus] Would you recommend learning jsp or jsf?
我会推荐两者。 JSP首先和JSF之后。
但是我会100%建议你为你的项目使用JSF。但是请确保您了解组件化以及使JSF成为强大工具的所有内容。
另外查看JSF 2.2 new features,这个页面很棒,介绍了添加到框架中的最新功能。