如果不使用IDE开发环境,那么在开发应用程序前,必须先搭建系统运行平台。比如安装TOMCAT和Sun的JavaWeb Services Developer Pack (JWSDP) 1.2。使用JSF时需要JSTL与JSF的标签函数库,在Web应用程序的WEB-INF\lib目录下放入所需的JAR文件。如果使用IDE开发环境,开发前期的准备工作比较简单,只需安装好IDE环境即可,不需要其他的配置,一般IDE中都有内嵌的应用服务器,足以支持程序的开发、运行和调试。不管是否使用IDE开发环境,JSF开发Web应用程序通常分为以下三个步骤:
视图设计
方便、快捷地开发基于JSF的Web应用程序,是在JSF提供了一组丰富的、可重用的服务器端用户界面组件的条件下实现的。在开发工具的支持下,用户可以很容易地在可视化环境中利用这些组件构建Web用户界面,处理组件的数据校验、事件处理等用户界面管理问题。
设计每个需要的JSP页面,在页面中放置JSF的内置组件,并将组件与应用层的JavaBean绑定。利用RAD工具能通过拖放组件的方式轻松实现页面文件,不需要手写大量代码。开发工具自动生成页面对应的Java文件,在文件中定义好了页面的JSF组件及其getter、setter方法以及JSF组件的“action”属性对应的方法等。程序员可以方便地在已有程序的基础上修改、调试。
模型设计
JSF技术做到了应用程序逻辑和表示的完全分离。在模型设计部分,程序员只需要考虑程序的逻辑功能,不需要考虑数据的表现形式。JSF的模型是通过JavaBean程序来实现的。
控制器设计
JSF的控制器设计是在配置文件中完成的,相关的主要有两个文件:web.xml文件和faces-config.xml文件(均在WEB-INF目录下)。web.xml文件主要用于控制JSF的生命周期,实现部署描述符。faces-config.xml文件实现导航,在文件中控制页面之间的跳转流程。
配置步骤是首先配置Web应用程序的web.xml文件,然后是配置JSF的控制文件faces-config.xml文件。这两个文件格式固定,在IDE环境中这个过程由工具自动完成,不需要设计人员的干预,即使手工配置也比较简单。
JSF的技术重点在View部分,它实现了Web应用程序设计角色的完全分离。JSF网页设计者只需要专注于页面的设计;应用程序开发者主要关心Model部分的JavaBean的开发;程序的流程控制则由faces-config.xml专门配置。
JSF是基于Java的Web应用开发领域里提供了一个可重用、可扩展、基于组件、工具友好的服务器端UI框架。在支持JSF的RAD开发工具中,人们可以像使用VisualStudio.NET一样方便快捷地构建Web用户界面,大大降低了利用Java技术实现Web用户界面的难度,提高了开发效率。
JSF具有强大的组件体系和事件处理系统,完全实现了MVC模式的应用架构,使得基于Java的Web用户界面程序开发难度大大降低,提高了开发效率,非常适用于Web页面的开发。
JSF是一个开放的标准,具有很好的可扩展性。依照JSF的规范,用户完全可以根据需求定制自己的用户界面组件、事件处理器、数据校验和转换组件等,这些组件和标准的JSF组件一样是可重用的。JSF API是直接架构在Servlet API之上的,因此JSF用户界面组件的呈现并不局限于特定的脚本技术或标记语言。表示层完全可以采用JSP之外的技术。在众多的J2EE表现层框架技术中,JSF表现出其旺盛的生命力。尽管JSF技术还有不少问题,但随着JSF技术的不断成熟和版本更新,其必将获得越来越多的应用。