首页 / 脚本样式 / Ajax / 使用GWT和RESTful Web服务构建动态的组织树
使用GWT和RESTful Web服务构建动态的组织树2010-11-26 IBM Bruce Sun简介最近几年,Web 应用程序开发的潮流是创建富 Internet 应用程 序,其中大多数是使用 Asynchronous JavaScript + XML (Ajax) 实现的。但是 ,由于编写 JavaScript 代码比较复杂,这种方法并不容易,尤其是很难构建大 型 Web 应用程序。因此出现了 GWT:它让我们能够使用 Java 而不是 Ajax 构建功能丰富的响应性的 Web 界面。GWT 还提供 Java 开发的所有优势,比如 出色的 IDE 支持和高级调试功能。GWT 可以显著提高生产力并丰富用户的体验 。在本文中,我要解释如何在 Eclipse 中构建 GWT 应用程序,以及如何使用 GWT Tree 和 TreeItem 部件为 University Corporation of Atmosphere Research (UCAR) 创建一个示例组织结构。我要解释如何实现惰性装载、如何与 RESTful Web 服务集成以及如何实现 GWT 回调和定制的异常。使用 JSON 作为 RESTful Web 服务的数据格式。软件需求首先,需要下载以下软件包,按照相应网站上的安装指南安装它们。Eclipse IDE for Java EE Developers Galileo (Eclipse 3.5)GWT 2.0GWT plug-in for EclipseMySQL 5.1 或 DB2® Express-CTomcat 6.xRESTful Web 服务RESTful Web 服务为 GWT 客户 机提供组织数据。在本文中,我不讨论实现 RESTful Web 服务的步骤;您只需 设置数据库并把 WAR 文件部署到 Tomcat 服务器上。可能还需要在配置文件中 修改几个数据库属性,比如数据库主机、登录名和密码。设置数据库我使用 MySQL Community Server 5.1 作为本文的数据库 。但是,也可以使用 DB2 Express-C 等其他数据库在您选择的主机上下载并安 装它(如果还没有这么做的话)。然后创建数据库 gwtresttutorial 和用户 gwtresttutorial,密码为 gwtresttutorial。连接 gwtresttutorial 数据库并 作为 gwtresttutorial 登录。从 下载 部分下载 sql 脚本,运行脚本以创建表 并在表中插入数据。对于让 RESTful Web 服务服务器连接 DB2 Express-C 或其他 DB2 系列数据库,所用的配置与清单 1 中的 MySQL 配置非 常相似,只需做以下修改:使用 com.ibm.db2.jcc.DB2Driver 作为 driverClassName。使用 jdbc:db2://<host>:<port>/<database_name> 作为 URL, 其中的 host 是安装 DB2 Express-C 的主机的名称,port 是用于访问数据库的 端口号,database_name 是数据库实例的名称。把 DB2 Express-C 安装 目录中的 db2jcc.jar 和 db2jcc_license_cu.jar 文件复制到 WEB-INF/lib 目 录。可能需要修改下载的 setup.sql 脚本,改用 DB2 语法。把 WAR 文件部署到 Tomcat 服务器从 下载 部分下载 WAR 文件并把它保存 到 Tomcat 文件夹 <TOMCAT_HOME>/webapps 中,其中的 TOMCAT_HOME 是 安装 Tomcat 服务器的位置。把 WAR 文件部署到 <TOMCAT_HOME>/webapps 目录之后,如果 Tomcat 服务器正在运行,它会 把 WAR 文件解压为 gwtRESTTutorial 文件夹。检查 <TOMCAT_HOME>/webapps/gwtRESTTutorial/WEB-INF/classes /applicationContext.xml(清单 1),确保 dataSource bean 的配置值与 MySQL 数据库所用的值匹配。注意,如果做了任何修改,可能需要重新启动 Tomcat 服务器。清单 1. 在 applicationContext.xml 中配置 dataSource bean1. <bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"& gt;
2. <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
3. <property name="url" value="jdbc:mysql://localhost:3306/gwtresttutorial"/>
4. <property name="username" value="gwtresttutorial"/>
5. <property name="password" value="gwtresttutorial"/>
6. </bean>