首页 / 软件开发 / JAVA / 使用JavaServer Faces构建Apache Geronimo应用程序,第2部分
使用JavaServer Faces构建Apache Geronimo应用程序,第2部分2012-06-29 IBM Chris Herborth在 JavaServer Faces 中使用 Tomahawk本教程是分 5 部分的教程系列的第 2 部分。本教程讲解 Apache Tomahawk。在这个系列的第 1 期 中,介绍了 Java™Server Faces™(JSF),并在 Apache Geronimo 上构建和成功地部署了一个简单的 JSF 应用程序。JSF 是一种基于 Java 的新框架,它使 Java Platform, Enterprise Edition(Java EE)应用程序图形用户界面(GUI)的构建工作变得更为容易。现在将研究 Apache Tomahawk (它提供了几个定制的 100% 与 JSF 兼容的组件),并学习如何将它集成到应用程序来改进界面。开始之前本教程向 Java 程序员讲解如何使用 JSF 组件构建高度交互性的部署在 Apache Geronimo 上的 Java EE 应用程序。本教程假设读者将使用 Eclipse IDE 作为开发平台。关于本教程本教程讲解 Apache Tomahawk,这是一套可以改进 JSF 应用程序界面的补充组件。我们将添加 一些输入验证器和其他输入组件,从而进一步开发开发者论坛注册页面的前端。关于本系列本教程是关于使用 JSF 构建 Apache Geronimo 应用程序的分五部分的教程系列的第 2 部分。整个系列教程包括以下几个部分:第 1 部分:使用 Eclipse 和 Apache MyFaces Core 构建基本的应用程序 介绍如何使用 JSF 标准的 Apache MyFaces 实现以及 Geronimo(一种也是来自 Apache 的免 费应用服务器)。这个教程讲解如何使用 Eclipse IDE 的 Web Tool Platform(WTP)来构建 JSF 应用程序。第 2 部分:在 JavaServer Faces 中使用 Tomahawk 展示如何在 Geronimo 应用程序中集成 Apache Tomahawk。Tomahawk 提供了几个 与 JSF 100% 兼容的定制组件。第 3 部分:在 JavaServer Faces 中使用 ajax4jsf 演示如何使用 Sun 的免费开放源码框架 ajax4jsf 使 Geronimo 应用程序获得 Asynchronous JavaScript + XML(Ajax)功能。第 4 部分:使用 ADF Faces 扩展 JSF 讲解怎样将 ADF Faces 中的组件集成到 Geronimo 应用程序中。Oracle 的 ADF Faces 是构建 于 JSE 之上的一组非常丰富的 UI 组件(它是用 Trinidad 这个名称捐献给 Apache 的代码的一部分)。第 5 部分:将 JSF 应用程序与 Spring 集成 展示如何将 JSF 应用程序与 Spring 框架集成。Spring 是一个流行的框架,它使 Geronimo 开发者能更容易地构建 Java EE 应用程序。系统需求为了学习本教程,需要有下列工具:Geronimo, Apache 的 Java EE 服务器项目。根据需要,Geronimo 提供 Tomcat 和 Jetty 两种风格。我们采用的是 Jetty 风格(1.1 版),因为它 小一点儿。MyFaces,Apache 的 JSF 实现。请从 Apache 下载核心版本(不带 Tomcat)。本教程中使用的版本是 1.1.3 版。Tomahawk,它提供用于 MyFaces 的额外组件和输入验证器,同时与 JSF 100% 兼容。Eclipse,这是一个可支持大量语言和 平台的可扩展开放源码 IDE。Eclipse Web Tools Platform(WTP),它给 Eclipse 添加了对 XML 和 JavaScript 编辑的支持以及 对 JSF 的基本支持。将 Java 1.4 或更新版本 安装到您的系统中。Eclipse 二进制文件中带有自己的 Java 运行时,但 Geronimo 和 MyFaces 则没有(带运行时会使下载归档文件的尺寸显著变大)。在本教程中,我们使用 Mac OS X 10.4 所用的 Java 1.5,但平台应 该不是问题。可以从 Sun Microsystems 或 IBM® 处获得 Java 技术的文件。概述在创建 Web 应用程序时,Java Servlet 和 JavaServer Pages™(JSP™)技术提供了一个强大的环境,但并没有给出创建用户界面(UI)的标准方法。您必须 全靠自己来管理 JSP 页面中所有表单的状态,还必须把进来的 HTTP 请求分派给适当的事件处理程序。如果站点的 GUI 很复杂,随应用程 序而产生的复杂的基础设施最终会变得难以管理。此外,站点还会有些特有的行为以及其他一些细节问题,使得您构建的代码很难被重用。 JSF 提供了一种简化高层任务(例如 UI 组件的排列和重用)的现成工具,并能够把组件的状态和输入处理与决定应用程序行为的对象关联 起来。Apache GeronimoApache Geronimo 是一个开放源码(采用 Apache Software Foundation 许可协议)的 Java EE 服 务器,其设计目的是尽可能增强应用程序的兼容性和性能。它的当前版本(到写本文时是 1.1 版)通过了 Sun 的 Java 2 Platform, Enterprise Edition(J2EE™)的 Technology Compatibility Kit(TCK)测试,这意味着它符合 Sun 的规范,与 J2EE 服务器完全 兼容。与 Jetty 或 Tomcat Web 服务器打包在一起时,Geronimo 非常易于启用和运行,而且它已经部署了一个极其有用的管理界 面应用程序。不需要以任何方式重新启动或重新配置服务器,就可以从管理控制台上载并启动 Web 应用程序。Apache MyFacesApache MyFaces 是第一个免费的开放源码的 JSF Web 应用程序框架实现。JSF 类似于流行的 Struts 框架,实现了模型 - 视图 - 控制器(MVC)模式,但是它的一些特性是 Struts 没有提供的。JSF 是由 Java Specification Request #127(JSR 127)规范所 定义的,这个规范已经被 Web 应用程序行业的专家批准成为 Java Community Process(JCP)规范。Apache TomahawkApache Tomahawk 在 JSF 规范包含的组件之外提供了一套额外的 JSF 组件,同时与任何符合 JSF 1.1 的实现(比如 MyFaces)100% 兼容。EclipseEclipse 是按照一个可扩展的面向插件的体系结构而构建的,它是一个开放源码的集成开发 环境(IDE)。因此,只要有这一个 IDE 就能够支持做任何工作所需的几乎任何语言、任务、平台和数据文件。这样的话,开发人员将可以 从出色的 Java 开发支持和 WTP 项目的插件中获益。WTP 提供了支持 XML 的编辑器,它还提供了实验性的 MyFaces 支持。我们来 很快地看一下我们的应用程序示例。