首页 / 软件开发 / JAVA / 使用JavaServer Faces构建Apache Geronimo应用程序,第1部分
使用JavaServer Faces构建Apache Geronimo应用程序,第1部分2012-06-29 IBM Chris Herborth使用 Eclipse 和 Apache MyFaces Core 构建基本的应用程序开始之前本教程向 Java 程序员介绍如何使用 JSF 组件来构建具有高度交互性的部署在 Apache Geronimo 上的 Java EE 应用程序。本教程假定 读者使用 Eclipse 集成开发环境(IDE)作为开发平台。关于本教程本教程介绍了 Apache Geronimo,它是一个纯 Java EE 应用服务器。还介绍了使用 Eclipse IDE 和 Apache MyFaces(这是一个开放源 码的 JSF 框架实现)的 JSF 编程环境。这里将会开发一个开发者论坛注册页面的前端,并学会如何使用常见的输入方法和数据验证技术。关于本系列这是一个关于使用 JSF 构建 Apache Geronimo 应用程序的教程,教程分五部分,这是其中的第 1 部分。在后面的系列教程中包括以下 几个部分:第 2 部分:在 JavaServer Faces 中使用 Tomahawk 展示了如何在 Geronimo 应用程序中集成 Apache Tomahawk。Tomahawk 提供了几 个定制组件,可跟 JSF 100% 兼容。第 3 部分:在 JavaServer Faces 中使用 ajax4jsf 演示了如何使用 Sun 的 ajax4jsf 工具使 Geronimo 应用程序获得与 Ajax 的兼 容性。第 4 部分:使用 ADF Faces 扩展 JSF 教您怎样将 ADF Faces 中的组件集成到 Geronimo 应用程序中。Oracle 的 ADF Faces 是构建 于 JSE 之上的一组非常丰富的 UI 组件。第 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 版。一个空的 MyFaces Web 应用程序。请从 coreservelets.com 这个Web 站点下载 Marty Hall 的 jsf-blank-myfaces- minimal.zip 归档文件。该归档文件包括一个空的 Web 应用程序,其中含有基本 MyFaces 应用程序所必需的最小的 MyFaces 库,几乎可 以原封不动地转到 Geronimo 上去。是的,两次下载了这些 .jar 文件(一次在这里,一次在 MyFaces 内核归档文件那里),因为仍需要 从 MyFaces 归档文件里获得文档和您可能会感兴趣的其他可选 JAR 文件。Eclipse,这是一个可支持大量语言和平台的可扩展开放 源码集成开发环境(IDE)。Eclipse Web 工具平台(WTP) ,它给 Eclipse 添加了对 XML 的支持和对 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 应用程序。MyFacesMyFaces 是第一个免费的开放源码的 JSF Web 应用程序框架实现。JSF 类似于流行的 Struts 框架,实现了模型 - 视图 - 控制器 (MVC)模式,但是它有一些功能是 Struts 没有提供的。JSF 是由 Java Specification Request #127(JSR 127)规范所定义的,它被 Web 应用行业的专家批准成为 Java Community Process(JCP)的规范。EclipseEclipse 是按照一个可扩展的基于插件的架构而构建的,它是一个开放源码的集成开发环境(IDE)。这样,只要一个 IDE 就能够支持 做任何工作所需的几乎任何语言、任务、平台和数据文件。这样,将可以从 Java 对开发的出色支持和 WTP 项目的插件中获益。WTP 提供 了支持 XML 的编辑器,它还提供了实验性的对 MyFaces 的支持。我们来很快地看一下我们的应用程序示例。