快速业务通道

怀疑论者的JSF: 消除关于JSF的FUD - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

怀疑论者的JSF: 消除关于JSF的FUD

时间:2011-04-11 IBM Rick Hightower

FUD 已经围绕 J2EE 的 JavaServer Faces (JSF) 技术多时了,我觉得现在该让它停止了 ,或者至少给出一种公允的说法。关于 JSF 的第一个谣传是,需要一个 WYSIWYG 拖放工具 来进行 JSF 开发。第二个谣传是,JSF 不支持诸如 Struts 这样的 MVC Model 2 框架。最 后一个,也是最致命的谣传是,JSF 开发就是难。

在这个 4 部分的系列文章中,我将尽量以最实际的方式消除所有这三个谣传,这种方式 就是教您利用 JSF 进行开发。实际上,如果您认为 JSF 开发很难,可能是您没有用对,幸 运的是,这很容易改正。本期一开始,我将给出 JSF 的一个结构上的概述和一个实际的例子 ,演示了 MVC 和 JSF 的基础。但是在开始之前,我将花一点时间来划清 JSF FUD 与事实真 相。

千万别相信 FUD!

正如前面提到的,关于 JSF 存在三个谣传,第一个谣传是,进行 JSF 开发需要 WYSIWYG 工具。简直是胡说。就像很多 Swing 开发人员不使用 WYSIWYG 来构建 Swing 应用程序一样 ,您也不需要用 WYSIWYG 编辑器来构建 JSF 应用程序。事实上,不用 WYSIWYG 工具进行的 JSF 开发比利用诸如 Struts 和 WebWork 这样的传统 Model 2 框架进行的开发要容易得多 。本文后面我将详细解释具体原因,但是现在您只要记住:JSF 开发比 Struts 要容易得多 ,即使不使用 WYSIWYG 工具!

关于 JSF 的下一个谣传是,不支持 Model 2 架构。目前来说,这实际上说得有点对。但 事实是,Model 2 是针对建立在 Servlets 之上的 Web 开发的 MVC (Model-View- Controller) 的打了折扣的版本。尽管 Model 2 连接到一个无状态协议 (HTTP),但是 JSF 支持更加丰富的 MVC 模型(这是传统 GUI 应用程序更加紧密的近似)。尽管 MVC 的基础使 得 JSF 框架实现比其他框架更难构建,但是有利的是,实现 JSF 的大量实际工作已经不用 您自己完成了,所以您的净付出减少了,而您的净受益就显著增加了。

关于 JSF 开发最主要、流传最广的谣传是,JSF 开发太难了。我经常从那些阅读过该技 术的大量资料却没有亲自体验过的人那里听到这种说法,所以我认为我可以轻易澄清这一点 。事实是,如果您将您对 JSF 的观点建立在它无可否认的广泛规范上 —— 以及它的所有生 命周期图表和图片 —— 那么该技术很容易让您发怵。但是请记住这样一件事情,规范是针 对工具实现者的,而不是针对应用程序开发人员本身。正如前面提到的,JSF 框架设计成对 应用程序开发人员来说非常容易。

事实上,尽管 JSF 的基于组件的、事件驱动的 GUI 开发模型对于 Java 世界来说还有点 新,但是在别处已经存在很长一段时间了。ASP.net 和 Apple 的 WebObjects 都是类似于 JSF 的架构。Tapestry 是一种开放源代码的、基于 Java 的 Web 组件框架,它采用的方法 有些不同于 JSF 的方法,但是也建立在 Web GUI 组件模型之上。

就现在来说,对 FUD 的谈论也许已经足够了。消除您对 JSF 的偏见的最好方法是,适当 地钻研这种技术,我们马上就来做这件事。但是为了避免这成为您对 JSF 的第一印象,我一 开始将给出一个结构上的概述。

JSF 初学者

像 Swing 和 AWT 一样,JSF 是一个可以提供一组标准的、可重用的 GUI 组件的开发框 架。JSF 用于构建 Web 应用程序接口。JSF 提供以下开发优势:

行为与表示的完全分离。

对状态的组件级控制。

事件容易捆绑到服务器端代码。

利用熟悉的 UI 组件和 Web 层概念。

提供多个标准化的供应商实现。

典型的 JSF 应用程序包含以下部分:

用于管理应用程序状态和行为的 JavaBeans 组件。

事件驱动的开发(像传统 GUI 开发中一样通过侦听器)。

呈现 MVC 样式视图的页面;页面通过 JSF 组

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号