Welcome 微信登录

首页 / 软件开发 / 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 Geronimo

Apache 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 MyFaces

Apache MyFaces 是第一个免费的开放源码的 JSF Web 应用程序框架实现。JSF 类似于流行的 Struts 框架,实现了模型 - 视图 - 控制器(MVC)模式,但是它的一些特性是 Struts 没有提供的。JSF 是由 Java Specification Request #127(JSR 127)规范所 定义的,这个规范已经被 Web 应用程序行业的专家批准成为 Java Community Process(JCP)规范。

Apache Tomahawk

Apache Tomahawk 在 JSF 规范包含的组件之外提供了一套额外的 JSF 组件,同时与任何符合 JSF 1.1 的实现(比如 MyFaces)100% 兼容。

Eclipse

Eclipse 是按照一个可扩展的面向插件的体系结构而构建的,它是一个开放源码的集成开发 环境(IDE)。因此,只要有这一个 IDE 就能够支持做任何工作所需的几乎任何语言、任务、平台和数据文件。这样的话,开发人员将可以 从出色的 Java 开发支持和 WTP 项目的插件中获益。WTP 提供了支持 XML 的编辑器,它还提供了实验性的 MyFaces 支持。

我们来 很快地看一下我们的应用程序示例。