使用GWT和RESTful Web服务构建动态的组织树

简介

最近几年,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.0

GWT plug-in for Eclipse

MySQL 5.1 或 DB2 Express-C

Tomcat 6.x

RESTful 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 bean

1. <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>

时间: 2024-08-02 19:10:49

使用GWT和RESTful Web服务构建动态的组织树的相关文章

使用Spring Boot构建RESTful Web服务以访问存储于Aerospike集群

Spring Boot是对Spring快速入门的强大工具.Spring Boot能够帮助你很容易地构建基于Spring的应 用. Aerospike是分布式和可复制的内存数据库,不管使用DRAM还是原生的flash/SSD,Aerospike都进行 了优化. Aerospike具有高可靠性并且遵循ACID.开发人员能够在不停止数据库服务的情况下,很快地将 数据库集群从两个节点扩展到二十个节点. 你所要构建的是什么 本文将会引领你使用Spring Boot创建一个简单的RESTful Web服务.

使用Jersey和Apache Tomcat构建RESTful Web服务

RESTful Web 服务简介 REST 在 2000 年由 Roy Fielding 在博士论 文中提出,他是 HTTP 规范 1.0 和 1.1 版的首席作者之一. REST 中最 重要的概念是资源(resources),使用全球 ID(通常使用 URI)标识.客户端 应用程序使用 HTTP 方法(GET/ POST/ PUT/ DELETE)操作资源或资源集. RESTful Web 服务是使用 HTTP 和 REST 原理实现的 Web 服务.通常,RESTful Web 服务应该定义

使用 Spring 3 MVC HttpMessageConverter 功能构建 RESTful web 服务

原文地址:http://www.ibm.com/developerworks/cn/web/wa-restful/ 简介: Spring,构建 Java 平台和 Enterprise Edition (Java EE) 应用程序的著名框架,现在在其模型-视图-控制器(Model-View-Controller ,MVC)层支持具象状态传输 (REST).RESTful web 服务根据客户端请求生成多个具象(representations)很重要.在本篇文章中,学习使用 HttpMessageC

使用 Eclipse 在 Google App Engine 上创建 mashup,第 3 部分: 使用 RESTful Web 服务

使用社会网络可以更轻松地获取并聚合数据,从而创建富有革新精神的新 Web 应用程序.但是,仍然必须处理创建可伸缩 Web 应用程序的所有常见问题.现在,使用 Google App Engine (GAE) 也可以简化工作.使用 GAE,可以不必考虑管理应用服务器池的所有事务,而是集中精力创建优秀的 mashup.本文是共分三部分的系列文章 "使用 Eclipse 在 Google App Engine 上创建 mashup" 的最后一部分,在本文中,将利用并进一步增强在前两部分中构建的

使用Apache Wink、Eclipse和Maven开发RESTful Web服务

简介:Apache Wink 是 Java API for RESTful Web Services (JAX-RS) 规范的一个开源实现 .了解如何使用 Apache Wink.Eclipse IDE 以及 Maven 项目管理工具开发.部署和运行 RESTful Web 服务. Apache Wink 是一个促进创建和使用 REST Web 服务的 Apache 孵化器项目.通过 REST Web 服务,客户机和服务之间的交互局限于一组预定义的操作,客户机和服务器之间的交互的复杂性限制 为客

java-使用http post如何传递多参数到restful web服务?

问题描述 使用http post如何传递多参数到restful web服务? 我创建了俩个数组参数和Objects数组,我想传递它们,我可以用下面的方法吗? @POST @Path("Test3") @Produces("text/plain") @Consumes({"application/json"}) public String Test3(String[] id1,String[] id2 ,Object [] oo) { String

分享一个Android和java调用RESTful Web服务的利器Resting

分享一个Android和java调用RESTful Web服务的利器Resting   当我们调用Web服务,往往是最终目标是取HTTP响应,将其转化为将在应用中呈现的值对象.Resting可以用来实现这一功能.Resting,在Java的一个轻量级的REST框架,可用于调用一个RESTful Web服务,并转换成响应来自客户端应用程序定制的Java对象.由于它的简单,resting是适合Android等手持设备.   resting目标•暴露简单的get(),post(),put()和dele

如何创建RESTFul Web服务

想写这篇文章很久了,这是个大话题,不是一时半会就能说清楚的. 所以准备花个一星期整理资料,把思路理清楚,然后再在Team里做个sharing:) 其实RESTFul是架构风格,并不是实现规范,也不一定非要用HTTP,但鉴于HTTP的普世性和 SOA的实现基本都基于HTTP实现. 这句话只对了前一半, 实际上REST和HTTP是息息相关的,是一种Web架构,WWW是世界最大型的分布式应用,而其实现就是基于REST的web架构的设计标准,REST架构的提出者(Roy T. Fielding 2000

用Java技术创建RESTful Web服务

简介:JAX-RS (JSR-311) 是为 Java EE 环境下的 RESTful 服务能力提供的一种规范.它能提供对传 统的基于 SOAP 的 Web 服务的一种可行替代. 在本文中,了解 JAX-RS 的主要组件.本文用一个例子展示了一个企业如何使用 JAX-RS 内的功能以 一种 Restful 的方式公开员工的联系信息. 背景 多年来,开发人员使用各种工具在其 Java 应用程序内创建 RESTful 服务.由于 REST 架构的简单性,主要需求 - 接收 HTTP 消息和 头部的能