深入了解JSF
07-11-04 13:20Update
**Pink File**
TAGS: JSF
本文从较深层次上介绍了JSF。为了帮助读者朋友理解JSF,使用了一些通俗易懂的图形来加以说明。
序言
在JAVA社区里,WEB应用的开发一直存在开发难的问题。从开始的最简单的CGI程序,到JSP,SERVLET。虽然说JSP/SERVLET的出现大大减轻了开发的难度,但稍微复杂点的WEB应用,就会产生大量重复代码,后来为了解决这些问题,先后出现了诸如Struts, Spring等优秀的框架,并得到了很大推广。在这些基础上,Java社区进程(Java Community Process:JCP),包括Sun Microsystems、Oracle、Borland、BEA、IBM以及一群业内知名的Java和Web专家,开始制作JSF规范请求,最初的Java规范请求(JSR127)起始于2001年中期,并于2004年3月,正式公开发布了JavaServer Faces规范和参考实现。什么是 JSF?
JavaServer Faces (JSF) 是一种用于构建 Web 应用程序的标准 Java 框架。它的目的是简化WEB应用程序的开发。它基于组件技术,并提供了以此为中心来开发 Java Web 用户界面的方法,从而简化开发。JSF框架体系完美地集成了具有良好构建的模型-视图-控制器 (MVC) 设计模式,确保了应用程序具有良好的可维护性。另外,因为JSF 是由 Java Community Process (JCP) 开发的一种 Java 标准,所以完全可以得到各大开发工具供应商的支持,为 JavaServer Faces 提供易于使用的、高效的可视化开发环境。JSF的体系结构
上面提到了JSF体系框架中的模型-视图-控制器 (MVC) 设计模式。我们具体来看看。典型的JSF应用:用户请求JSF页面,首先会统一把请求交由FacesServlet(Controller),FacesServlet里经过一系列的处理,调用业务模型(Model)处理,最后把JSP页面内容(View)展现给用户。JSF的生命周期:
JSF把整个用户请求明确地分成了6个阶段,每个阶段完成不同的任务。一个典型JSF请求分成以下6个阶段:- Restore View Phase:重载视图阶段
- Apply Request Values Phase:应用请求值阶段 这个阶段主要做2件事:第一,把用户提交的数据设置到组件中去;第二,把用户事件(比如按下按钮等)加到事件队列。
- Process Validations Phase:数据检查阶段 这个阶段主要做数据的合法性检查,如果用户输入了非法数据,则在画面上显示相应的错误消息。
- Update Model Values Phase:更新模型值阶段 把组件里的值设置到Model中去。
- Invoke Application Phase:用户业务逻辑阶段 主要处理用户按钮事件等,调用业务逻辑处理(action)。
- Render Response:重画画面阶段 画面描画和展现。
为了便于理解,用下面2个图加以说明:
JSF的生命周期 概要图
- Relative Articles
- JSF Validator进阶篇 - 自定义JSF Validator - (07-12-20 19:37)
- JSF Validator入门基础篇 - JSF Validator的介绍与使用 - (07-12-19 22:22)
- JSF应用中捕捉managed-bean构造方法里抛出的异常 - (07-12-17 22:46)
- JSF Converter基础篇 - JSF Converter介绍与使用 - (07-11-04 13:33)
- f:selectItems - JSF标签 f:selectItems 的使用方法 - (07-10-25 10:53)
- JSF Converter应用篇 - 自定义JSF Converter - (07-09-28 15:04)
- 开发JSF应用的基本流程与方法 - (07-08-15 00:51)
- JSF应用单点权限认证的构建与实现 - (07-06-14 23:37)
- 深入了解JSF(二):从JSF的Lifecycle看JSF对页面的处理机制和流程 - (07-06-01 16:39)
- JSF全面理解之消息处理 - (07-05-30 16:32)
- JSF本地化策略 - (07-05-29 17:42)
- JSF 5分钟入门:Hello World! - (07-05-29 00:40)
- 推荐一个FacesUtils工具类 - (07-05-29 00:40)
- 从JSF的切入点控制JSF - (07-05-29 00:40)