预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
-
一、引言如果你是一个Java软件和HYPERLINK"http://www.cncms.com.cn/ajax"\t"_blank"Ajax开发者,那么,GoogleWebToolkit(GWT)应该已经引起你的关注。Google公司已经于2006年5月在Apache许可协议下发布了这种免费的开发工具包。GWT的设计目的是为了简化用Java语言开发HYPERLINK"http://www.cncms.com.cn/ajax"\t"_blank"Ajax应用程序。Google初始发行的beta版本可以适用于Windows和Linux平台,并许诺稍后要发行一个MacOSX版本。本文将探讨在MacOSX上使用GWT和熟悉的Java工具,例如ApacheAnt,HYPERLINK"http://www.cncms.com.cn/tomcat"\t"_blank"Tomcat5.0servlet容器和IntelliJIDEA集成开发环境开发一个简单的HYPERLINK"http://www.cncms.com.cn/ajax"\t"_blank"Ajax应用程序的完整过程。注本文假定读者具有一定的Java和Ant使用基础。二、与GWT一起使用Ant我下载的是GWT的Linuxbeta版本,并选用Java开发应用程序,然后使用一个Ant构建文件进行编译,最后在一个HYPERLINK"http://www.cncms.com.cn/tomcat"\t"_blank"Tomcat5.0实例上发布该应用程序。注意,这个Ant文件运行的是GWTJava-to-JavaScript编译器。其实,这个“编译器”只是一个执行一个GWTJava类的命令行脚本,该Java类负责为应用程序编写JavaScript。使用GWTbeta包括两种开发方式:主机方式和web方式。主机方式是使用一个嵌入式的GWT浏览器和中间开发步骤;在这个方式中,你的编译代码继续运行于一个Java虚拟机(JVM)中。然而,主机方式无法应用于我们这些使用Linux版本操作系统的MacOSX用户。只有Google发行了一个MacOSX版本,我们才可以使用主机方式。三、不同风格的HYPERLINK"http://www.cncms.com.cn"\t"_blank"Web开发在创建远程过程调用(RPC)服务的同时,本文将详细讨论一些典型的GWT开发者可能面对的HYPERLINK"http://www.cncms.com.cn"\t"_blank"web开发有关的任务。RPC是一个软件模型的一部分,主要为使用面向服务的架构(SOA)的应用程序而设计。这些开发任务包括:·使用一个构建文件(构建运行GWT编译器,然后发布编译器的输出,并且把你的服务器端的Java类文件发布到一个servlet容器,例如HYPERLINK"http://www.cncms.com.cn/tomcat"\t"_blank"Tomcat,Jetty或HYPERLINK"http://www.cncms.com.cn/resin"\t"_blank"Resin)来自动化开发和发布步骤。·使用Firefox的DOMInspector来观察由该GWT应用程序生成的HTML。·重新设置页面中的各部件而不必存取内在的HTML(既然你在使用GWT的JavaAPI)。·确保HTML是有效的标记,例如,你的组织可能需要基于一个特别的XHTML文档类型。四、服务功能首先,我将简短描述本文示例应用程序要创建的服务,设计这个示例是为了展示GWT使用的模型。该应用程序在浏览器中显示一个表单,要求用户输入他们的姓名、年龄和原籍国家。当用户通过点按按钮提交表单时,该应用程序在一个文本域中显示一个服务器响应,而不必初始化一个页面刷新。图1显示了在Safari浏览器中该应用程序看上去的样子。
图1.一个由GWT生成的简单视图例如,当用户保留一个文本框为空而点击OK,Submit按钮时将显示出图2所示结果。
图2:该应用程序用红色显示一条错误消息五、巧妙的服务机制在HYPERLINK"http://www.cncms.com.cn/ajax"\t"_blank"Ajax应用程序中使用RPC可以消除显式地处理XMLHttpRequest和相关的服务器返回值的必要性,因为GWT对象能够为你处理复杂任务。你的应用程序定义的每个服务都要求实现两个Java接口和一个Java类。为了编译这些类,你必须确保gwt-user.jar库位于你的classpath(由一个Ant文件入口负责实现这项任务)中。下列代码示例展示了定义我们的服务的Java接口。
packagecom.parkerriver.gwt.