使用Google Web Toolkit、Apache Derby和Eclipse构建Ajax应用程序 12010-07-21 IBM Noel RappinGWT 使得构建富 Ajax 浏览器客户机界面比构建传统 Java GUI 界面还要轻松。然而,即使是 GWT 这样出色的技术也无法独自构建出一个完整的 Web 应用程序。您还必须有一个服务器上的数据存储和某种类型的框架,以便将数据转换成 GWT 可从服务器传递给其客户的 Java 对象。在这一系列文章中,您将使用 Apache Derby 这个 100% 纯 Java 数据库,可将其嵌入与其余服务器端代码相同的 Java 虚拟机(JVM)之中。本系列的第一篇文章主要探讨 GWT。在这里,您将了解如何设置 GWT,并创建一个简单的客户机界面来响应用户的操作。后续文章将为您展示如何设置 Derby 数据库,并将 GWT 前端与基于 Derby 的后端连接。最终,您将学会如何将在开发环境之外部署您的系统。Google Web Toolkit 是什么?借助于 GWT,您可以使用 Java 编程语言开发 Ajax 应用程序。Ajax 应用程序的特色就是丰富、交互式的环境,往往与传统 UI 应用程序相关联。图 1 展示了一个示例 GWT 界面,它效仿了桌面电子邮件应用程序。这个演示程序可在 GWT 的 Web 站点看到。图 1. GWT 电子邮件演示

GWT 最独到的特性就在于:您可以创建 Ajax 应用程序,同时依然使用 Java 语言编写代码。您可以使用自己喜爱的 Java 集成化开发环境(IDE),而更好的事情是,还可以在 Java IDE 中调试您的客户机。可以使用 Java 对象在客户机与服务器之间通信,这样的通信在客户机中比使用 Java applet 时要轻量得多。从根本上来说,GWT 是一种编译器。它将您编写的 Java 代码转换成 JavaScript 代码,这些代码随后会插入 HTML 页面,并用于运行应用程序的客户端。这样的功能使您免于处理在多种浏览器上支持 JavaScript 代码的细枝末节,从而使您能够专注于程序的界面和交互之上。当然,如果编译器是 GWT 提供的惟一功能,那也不会令人太过兴奋。幸运的是,它给我们带来的不仅如此。有了 GWT,编译器仅仅是一种交付整个客户机/服务器应用程序架构的机制。其特性包括:一组标准 UI 小部件(widget),外观良好、灵活性高,并且已进行了调优,可在所有主流浏览器(包括 Safari 和 Opera)中工作。一种完全在客户端捕捉并响应事件的事件机制。一个管理 Web 应用程序与服务器间的异步调用的框架。一种创建有状态浏览器历史记录的机制,以使您的 Ajax 应用程序不会因为有可能出现的后退(Back) 按钮行为而变得混乱。一个使用 JUnit 为客户机应用程序编写单元测试的测试框架。本系列将探索上述特性中的大多数。但首先请下载和安装 GWT。