2009年1月1日星期四

JSF_001:JSF 是啥东东?

【JSF】:JavaServer Faces。JSF是一种构建Java Web应用的标准框架。说它标准,是因为JSF1.1符合JSR 127 ;JSF1.2符合JSR 252
下面这个英文定义准确地表达了JSF的特征:
JavaServer Faces technology is a server-side user interface component framework for Java technology-based web applications. It includes

  • A set of APIs for representing UI components and managing their state, handling events and input validation, defining page navigation, and supporting internationalization and accessibility.
  • A JavaServer Pages (JSP) custom tag library for expressing a JavaServer Faces interface within a JSP page.
那么,JSF比其它Web开发框架有何优势?要回答这个问题,我们就要从Web开发谈起。我们知道,Web 开发比桌面应用开发相对要复杂的多,因为开发者必须要关注
(1)必须深入HTTP 的细节,比如要处理数据验证与转换。
(2)HTTP 本身是无状态的,每个请求/响应与其它的请求/响应无关。如何维持多个请求之间状态信息?如何保证事务的完整性和一致性?
(3)Web安全。
(4)本质上是静态的HTML与本质上是动态的应用程序造成网页设计人员与应用程序开发人员之间的矛盾,双方将互相干扰。

与其它Web开发框架不同,JSF是 Web 开发的新的标准,很多厂商已经支持JSF Container了。
而且,与传统的request-driven Web框架不同,JSF基于组件开发Web应用,一个JSF页面是由一个树状的UI组件组成的,目的就是让你感觉不到是在开发Web应用——和开发桌面应用一样。


JSF的核心组件包括:
(1)UI组件:即JSF标签库,JSF是基于组件的。
(2)导航模型:定义了导航规则。
(3)Managed Beans:封装业务逻辑和数据。
(4)Expression Language:把数据或方法绑定到组件上。
(5)生命周期管理
(6)其它助手类:转换器与验证器。


参考文献:
1. 《JSF 教程》 作者:Tellixu。
2. 《使用JSF 架构进行设计》
3. 《JSF 应用程序的生命周期》

没有评论: