快速业务通道

JSF技术详细介绍 - 编程入门网

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

JSF技术详细介绍

时间:2009-12-07

与微软Visual Studio.NET程序开发有可视化工具的支持相比,人们在开发基于Java的Web用户界面时仍然需要手工书写大量的标签,同时还要考虑页面状态信息的保存、客户端事件处理等问题,开发难度比较大,效率较低,重用性差。Java Server Faces (JSF) 技术正是为了解决这一问题应运而生的,其最引人注目的特性之一是它与标记语言、协议、客户端设备无关。利用JSF提供的可重用、可扩展、基于组件的用户界面框架,在快速开发工具RAD的支持下实现可视化开发。现在JSF技术已经得到了许多大厂商的支持,如SUN公司的JSF Web UI、IBM公司的JSF extension以及Oracle的 ADF Faces等,许多开源项目(典型的Apache Myfaces)也提供对JSF技术的支持。同时Oracle、Sun、Borland和IBM等公司都为JSF提供了开发环境。

传统JSP开发存在的问题

实现表示层和业务层的分离,这是J2EE Web应用一直以来的理想,可惜JSP 并没有真正实现这个目标。JSP是一个基于Java的Web用户界面开发标准技术,是一种“脚本式”开发的Web技术,在JSP 页面中混淆了大量用于显示逻辑的HTML 和用于业务逻辑的Java 代码,使得页面设计与程序开发无法分离;JSP另一个更大的缺陷是脚本不能重用,这常常导致开发者不得不在JSP页面之间进行复制-粘贴操作,进而导致同一段代码出现多个版本,从而使得程序的调试和设计极其错综复杂。而标签库TagLib作为JSP的补充,将Java代码从JSP中剥离,也只是有限地实现了表现与逻辑的分离,始终没有摆脱代码和HTML页面揉和的问题。此外,JSP还存在着其他固有的缺陷,例如对应Servlet编译的出错信息很难在JSP 中找到准确的出错位置,由此给调试带来很大困难。

JSF技术介绍

在Sun公司提出的J2EE(Java 2 Enterprise Edition)平台上,Java Server Faces (JSF) 是一种用于构建Web应用程序的新标准Java框架。它提供了一种以组件为中心来开发Java Web用户界面的方法,从而简化了开发。“企业开发人员”和Web设计人员将发现JSF开发可以简单到只需将用户界面 (UI) 组件拖放到页面上,而“系统开发人员”将发现丰富而强健的JSF API为他们提供了无与伦比的功能和编程灵活性。JSF还通过将良好构建的模型-视图-控制器 (MVC)设计模式集成到它的体系结构中,确保了应用程序具有更高的可维护性。

JSF是由Java Community Process (JCP)制定的一个Web应用框架标准。JSF具有良好定义的请求处理生命周期和丰富的组件层次结构,旨在推动基于Java的Web用户界面开发的简易性。利用JSF提供的可重用、可扩展、基于组件的用户界面框架,在快速开发工具RAD的支持下,可以通过拖放组件的方式对Web用户界面进行可视化编辑,将用户界面上的组件与一个数据源绑定,并将客户端用户界面产生的事件交给服务器端处理,从而大大降低基于Java的Web用户界面的开发难度,提高开发效率。

Java Server Faces技术包括两个主要部分:

(1) 一组用于表示用户界面组件并管理其状态、处理事件和验证输入的JavaAPI,这些API支持国际化和可访问性(accessibility);

(2) 一个用于在JSP页面中表示JSF 组件的自定义标签库。

简而言之,JSF的主要部分是一个GUI组件框架和一个用于跨不同标记语言或客户端设备描述组件的灵活模型。JSF GUI组件框架使开发人员能够创建JSF应用程序的用户界面。JSF GUI组件包括标准的HTML表单控件(如按钮)、布局组件,以及更复杂的组件,如数据表。此外,第三方还可以扩展规范中定义的基本类,来开发额外的GUI组件。

JSF 组件的体系结构是这样设计的:组件的功能由组件类定义,组件的呈现由一个单独的呈现器(renderer)定义。呈现器定义了组件类如何映射为适合特定客户的组件标签。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号