开始之前
本系列教程适合于需要了解 Spring 框架的更多信息以及如何在 Apache Geronimo 应用服务器上使用 Spring 框架的强大功能的 Java Platform、Enterprise Edition(Java EE)开发人员。
本系列教程共分为 6 个部分,向您介绍了 Spring 框架及 Spring 框架怎样与 Geronimo 结合使用。我们将从检验各种 Spring 框架方法及其怎样与 Geronimo 服务器结合使用入手。在整个系列教程中,您将开发和部署个人电话本应用程序。该应用程序包括以下功能:
- 显示电话本
- 显示每个条目的详细信息
- 向电话本中添加一个新条目
- 编辑、修改和删除条目
- 向条目中添加更多详细信息,例如主电子邮件地址
第 1 部分 介绍了 Spring 框架的各个模块,并介绍了每个模块与在 Geronimo 应用服务器上开发 Java EE 应用程序的关系。该部分还说明了 Spring 框架所基于的方法。
第 2 部分 介绍了如何使用 Spring 框架在 Geronimo 上构建第一个骨架系统应用程序。
第 3 部分 中,您将采用通过 Apache Derby 数据库添加 Java 数据库连接 (JDBC) 支持来扩展在第 2 部分中获得的 Geronimo 应用程序。您还将了解如何将对象关系映射 (ORM) 集成到使用 iBatis 的应用程序中。
第 4 部分 中,您将面对 Spring AOP 和 Spring Web 框架。使用 Spring AOP,任何受 Spring 框架管理的对象都可变为面向方面的,并且本教程利用了通过 Spring AOP 提供的声明式事务管理服务。
第 5 部分 介绍了 Spring MVC。该教程向您介绍了 MVC 框架及 Web 视图,使您可以了解 Spring MVC 的入门知识。
在最后一部分,也就是第 6 部分中,介绍了如何通过 Spring 框架使用 JSP、Velocity、Tile 和 PDF 导出功能。您将使用和体验 Spring MVC 内置的各种 Web 视图。
如上所述,本系列教程的第 5 部分提供了对 Spring MVC 模块的完整介绍。您了解了 Spring MVC 所提供的各种控制器 —— MVC 中的 C。本教程将检验各种视图技术 —— MVC 中的 V。
Web 应用程序开发人员所面临的最大挑战之一是创建可适应的设计。使视图组件具有灵活性非常具有挑战性。由于 Spring 对视图的支持十分健壮,因此这种挑战较易管理。本教程中使用 JSP、Tile、Velocity 和 PDF 导出功能的目的在于演示 Spring MVC API 如何使这一切成为可能。
JSP 和 Velocity 是两项互补的视图技术。您可以用任意一项技术来创建视图,每项技术都有自己的优缺点。本教程演示了在样例电话本应用程序中用其中一项技术替代另一项技术有多么简单。
首先我们将查看 Spring MVC 中的 JSP 支持,然后查看 Tile,一种用于视图布局管理的优秀模板引擎。Tile 使您可以轻松地管理 Web 页面布局,而且 Spring 有对 Tile 的内置支持。您将使用这些类来更改电话本应用程序的 Web 布局。
接下来,您将通过使用 Velocity 模板引擎定义的视图来替代对 JSP 的使用。Velocity 使您可以轻松地访问视图中的 Java 对象,而无需复杂的定义和 Java 结构,例如 Try Catch 循环。
最后,您将看到如何调整电话本应用程序的主页使其显示为 PDF 文件。Spring 将处理创建 PDF 时所需的全部麻烦而复杂的代码和逻辑。它为您提供了一种干净的 API 来处理内容,而不必为 PDF 的细节而困惑。
要继续学习本教程,您应当对以下内容有基本了解:
- 面向对象的编程
- Java Platform,Enterprise Edition(Java EE)的术语
- SQL 语句
- XML 语义
- JSP 标记、标记库和标记库描述符
了解 MVC 更佳,并且具有 Velocity 的工作知识也会非常有利,但并非强制要求。
您的系统需要至少满足以下要求才能继续学习本系列教程:
- The Spring Framework v1.2.8 —— 具有所有依赖性的压缩文件。
- Apache Geronimo 1.1 —— Geronimo 是 Apache 的 Java 2 Platform, Enterprise Edition(J2EE)认证应用服务器。
- Apache Derby 数据库 —— 本教程使用 Derby,该数据库是开源的轻量级数据库。Derby 是嵌入到 Geronimo 1.1 里的,因此不需要再单独安装。
- Velocity JAR 文件 —— 您将需要来自 Velocity 模板引擎的 JAR 文件。您既可以从 Spring 框架安装中复制,也可以从 Velocity 站点下载。
- iText —— 这是用于快速生成 PDF 的 PDF 库。Spring 将使用此库来生成 PDF,并且是 Spring 框架的一部分。
- Struts —— 这是来自 Spring 的 Tile 支持,它依赖于 Struts API。您需要使用来自此 API 的主 struts.jar 文件,可以在 Spring 框架中找到。
- Spring Tile 支持所需的常见库 JAR 文件 —— 您需要使用 commons-digester.jar、commons-collection.jar 和 commons-beanutils.jar。这些都来自 Spring 框架安装,因此只需将这些文件复制到开发环境中。
- Standard taglib API —— 由于在 JSP 中使用的是 JSP 标准标记库(JSP Standard Tag Library,JSTL)标记,因此需要使用此压缩文件中的 JAR 文件。
- 标准的 JSTL 库 —— 当前版本为 1.1.2。
- Apache Ant —— 确保正确配置 Ant 并且其 /bin 目录位于 Path 系统变量中。
- Java 1.4.2 —— 确保 Java 安装并运行在系统中。
此部分包含安装和配置开发、部署和运行示例应用程序所必需的软件的说明。
- 安装 Spring 框架和 Geronimo:要使样例代码运行,需要安装运行 Geronimo 和 Spring 框架。(有关安装指南,请参阅本系列教程的 第 2 部分。)
-
解析 Tile 依赖性所需的 JAR 文件:Spring 中的 Tile 支持需要使用以下 JAR 文件:
- Struts.jar —— <SPRING_HOME>\lib\struts
- Commons-digester.jar —— <SPRING_HOME>\lib\jakarta-commons
- Commons-collection-3.2.jar —— <SPRING_HOME>\lib\jakarta-commons
- Commons-beanutils.jar —— <SPRING_HOME>\lib\jakarta-commons
所有这些 JAR 文件都随 Spring 框架安装包附带而来。您可以在以上列表中指出的目录中找到它们,.jar 文件名旁边。确保将所有这些 JAR 文件复制到 <WORKSPACE>/phonebook/lib 目录中。 - 解析 Velocity 依赖性所需的 JAR 文件:样例电话本应用程序需要包括 velocity-1.4.jar 才能使用 Velocity。Velocity 还需要使用复制的 commons-collections.jar 才能确保 Tile 完整性。Velocity .jar file 可以在 Spring 安装目录的 <SPRING_HOME>\lib\velocity 文件夹中找到。确保将此文件复制到 <WORKSPACE>/phonebook/lib 目录中。
- 解析 PDF 依赖性所需的 JAR 文件:Spring 的 PDF 支持 API 将使用 iText PDF 库,因此需要该库为应用程序创建 PDF。同其他 JAR 文件一样,此文件也是预打包在 Spring 安装中。您可以在 <SPRING_HOME>\lib\itext 中找到 itext-1.3.jar 文件。将此文件也复制到 lib 目录中。
- 安装 Apache 的 Standard Taglib 和 Spring taglib:您将使用在本系列教程的 第 5 部分 中定义的 JSP 并且使用它们扩展应用程序,因此需要安装 JSTL 库。(请参阅本系列教程的第 5 部分中的安装说明。)
- 应用程序的数据模型定义和数据库设置:您将使用在本系列教程的其它部分中创建的同一个 Derby 数据库。数据模型也是相同的。如果在第 3 部分、第 4 部分或第 5 部分中创建了数据库和表,则应当已经设置好了一切。如果未创建,请按照 第 3 部分 中的说明先完成设置。