我希望学习用于开发Web应用程序的Java技术。当我进一步研究时,我对jsf](file:///C:/questions/tagged/jsf “显示标记为“ jsf”的问题”),jsp和javaee感到困惑。)试图解决这些困惑
在您的回答中,可以随意将这些技术与诸如ASP.NET,ASP.NET MVC,Ruby on Rails,Zend Framework或常规的Java Applet之类的东西进行比较,因为这些都是我已经熟悉的东西。
感谢您的时间。
JSP是否支持JSF?
与JSP相比,JSF具有无数好处。例如:
我们可以继续下去。
您仍然可以将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。例子:
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的新功能,该页面非常棒,它介绍了添加到框架的最新功能。