新一代Java Web开发框架JSF框架

开发 后端
本文介绍新一代Java Web开发框架JSF框架,以及与ASP.NET相比,JSF有两点优势。

Java Web编程始于Servlet,经历了JSP和Struts后,正朝着JSF前进。JSF凭借多项革命性的创新技术,正***我们进入基于组件模型和事件驱动机制的、真正面向对象的Java Web编程新纪元。

按照官方的定义,JSF框架是Java Web表示层框架。通俗地说:

1.JSF是继Servlet、JSP和Struts之后又一项Java Web应用编程技术;

2.JSF是编写网页的一种新方法。完整的Java Web应用包括网页、业务逻辑和数据库,其中后两者都有成熟的解决方案,例如EJB和JPA,唯独网页的编写还停留在很原始的阶段,需要处理诸多底层细节。JSF的出现正是为了解决网页编写的问题。可以说,JSF和EJB、JPA一起,构筑了Java Web应用***的三层体系结构。

***的优势,就一句话,极大地简化了网页的编写。在JSF之前,我们编写网页都是和tag、Http请求、http响应等打交道,而JSF允许我们将网页视为在Java桌面应用中司空见惯的窗口,用类似编写桌面应用的方式编写Java Web应用。在JSF里,没有tag、没有http请求,也没有http响应,取而代之的是UI组件、事件和事件处理例程这些普通Java程序员耳熟能详的概念。

当然,我这样表述JSF框架,并不是说JSF不需要tag和http请求响应,在JSF框架内部,真正支撑JSF运作的还是tag和http请求响应,只不过JSF屏蔽了细节,让程序员集中精力于业务逻辑代码

与ASP.NET相比,JSF的优势我认为有这么两点:

1)有些优势是JSF天生的,例如平台无关性,这是从Java语言中继承的优势。平台无关性的好处大家都很清楚,我就不废话了;

2)JSF是规范,而不是具体产品,这是Sun的聪明之处,也是Sun的厚道之处。事实上,Java的很多技术都是以规范的形式出现的,这与 Microsoft以具体产品的形式推出新技术截然不同。规范的好处是允许不同厂商在具体产品上展开竞争,使用户受益。例如JSF,现在Sun自己的参考实现很少人用了,倒是一些开源的JSF实现如Apache的MyFaces等大行其道。Sun这样做既鼓励了竞争,又能腾出更多功夫致力于规范的改进,可谓一举两得。

3)从技术的角度看,JSF不但与平台无关,甚至与用来描述页面的标记语言无关。换句话说,在PC上,我们现在通常以HTML为标记语言,实际上,在其他类型的终端上,如果描述页面的标记语言不是HTML,JSF仍然可以胜任。当然,这个优势,对于普通程序员好像意义不大,但如果眼光放长远一些,这种标记语言的无关性,是JSF技术前瞻性的具体表现,它使得JSF的生命力更长久。

3.Java EE 5最重要的使命是简化Java开发,为此,Sun连续使出了三大绝招,一是推出JSF,二是推出EJB3,三是推出JPA。明眼人一看就知道,这三大技术分别涵盖了三层体系结构中的表示层、业务层和数据层,虽说不能一统天下,但在规范层面建立一个完整体系的目的非常明确。规范是技术的制高点,只要Sun不倒,JSF就有足够硬的后台支持它的发展。

【编辑推荐】

  1. 程序员必备Java API
  2. 对于JSF的一些思考
  3. 从JSF的切入点控制JSF
  4. 几个JSF流行名词的解释
  5. 浅谈JSF的UI组件
责任编辑:佚名 来源: 中国IT实验室
相关推荐

2021-07-15 11:16:31

Spring WebWebFlux架构

2023-04-12 18:36:20

IO框架内核

2022-08-22 08:05:17

Fresh框架Remix

2009-01-11 10:13:39

Stripes开发框架JSP

2022-10-14 08:31:10

2009-06-22 17:59:24

JSF基于Java的Web

2021-10-28 14:53:27

鸿蒙HarmonyOS应用

2009-07-09 18:03:54

开源云计算开发

2020-06-23 10:22:58

GitHub代码开发者

2023-11-27 07:42:27

Reactor响应式

2009-06-26 14:06:08

JSF基础框架

2009-04-02 08:38:55

Windows 7微软操作系统

2012-07-02 10:36:19

菲亚特

2022-03-10 16:01:29

Playwright开源

2013-01-04 16:15:08

微软ERPDynamics AX

2020-05-26 14:10:34

Web前端指标

2016-01-26 11:58:12

2009-05-22 09:02:45

Firefox浏览器插件

2013-12-06 15:49:22

风河物联网SDN

2023-12-30 16:30:29

开发者工具Vite
点赞
收藏

51CTO技术栈公众号