当前位置:IT技术综合首页 >> Web工程 >> Google Web Toolkit 入门

Google Web Toolkit 入门 (1)

[2006-08-23 15:03:13]  [来自:系分之路]  [字体: ]

  Ajax 被用于创建更加动态和交互性更好的 Web 应用程序。Google Web Toolkit (简称GWT) 是 Google 推出的 Ajax 应用开发包,GWT 支持开发者使用Java 语言开发 Ajax 应用。本文中作者将介绍如何使用 GWT 开发 Ajax 应用的基本方法和步骤。


  Ajax简介


  Ajax是 Asynchronous JavaScript and XML(以及 DHTML 等)的缩写,由XHTML、CSS、JavaScript、XMLHttpRequest、XML等技术组合而成,是当前Web应用开发领域的热门技术,用于创建更加动态和交互性更好的Web应用程序,提升用户的浏览体验。


  Ajax的核心是JavaScript对象XmlHttpRequest。XmlHttpRequest处理所有服务器通信的对象,是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。


  为什么选择GWT?


  众所周知,即使对于Ajax技术非常熟悉的开发者而言,Ajax应用的开发和调试过程也不是一件容易的事情,更困难的是,到目前为止,一直没有出现合适的开发工具能够支持Ajax应用的开发和调试。


  与此相反的是,Java语言--企业应用开发的主流语言-的开发和调试过程却因为有各种各样开发工具的支持而简单的多,而且这样的开发工具我们可以免费获得,比如Eclipse、NetBeans。


  如果能够应用Java语言开发Ajax,Ajax应用开发的最大难题-开发工具的缺失-就将迎刃而解。这种情况下,我们就可以既充分利用Java语言的开发优势降低Ajax应用开发的难度,加快Ajax应用的开发速度,为Ajax的大规模应用创造可能,又可以充分发挥Ajax技术的优势,创建更加动态和交互性更好的Web应用程序,提升用户的浏览体验。


  Google Web Toolkit(简称GWT)的出现为我们提供了这种可能。GWT是Google推出的Ajax应用开发包,支持开发者使用Java语言开发Ajax应用。GWT框架本身是开源的,但是GWT中的开发工具仅仅提供开发用License,不允许分发。


  GWT提供了一组基于Java语言的开发包,这个开发包的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等都和AWT非常类似。熟悉Java AWT的开发者不需要花费多大的力气就能够快速的理解GWT开发工具包,将更多地时间投入到GWT应用的开发过程中。


  开发出来的Java应用将由GWT开发包提供的编译工具编译后声生成对应的、应用了Ajax技术的Web应用,Java应用中出现的、和服务器之间的交互动作被自动生成的异步调用代码所代替。


  GWT特性


  GWT除了支持将应用Java语言开发的应用转化为Ajax应用,同时提供了更多的高级特性,下面是这些特性的简单描述。


  1. GWT编译器


  GWT编译器是GWT的核心,负责完成将Java代码翻译很Ajax内容的工作。GWT编译器能够翻译Java语言的大部分特性。包括支持Java语言中的基本类型、违例处理等,支持java.lang包和java.util包中的绝大部分类和接口,支持正则表达式和序列化。


  2. 跨平台支持


  如果你使用GWT中提供的显示组件(比如Button)和组装组件(比如VerticalPanel),GWT编译生成的Ajax应用能够支持大部分的浏览器和操作系统,比如Internet Explorer、Firefox等,也能够支持Linux、Windows等不同操作系统。这是因为GWT最大限度的将这些控件翻译成浏览器内置的类型。比如Button类编译后生成的是标准HTML:<input type="button">。


  GWT建议使用CSS修饰页面元素的显示效果。GWT的类中很少提供访问页面元素样式属性的方法,我们可以直接在CSS文件中通过对应的样式名称来设置页面元素的默认显示效果。比如使用 .gwt-Button { font-size: 150%; } 使用Button元素的默认显示效果。

 

  3. 宿主模式(Hosted Mode)


  宿主模式是指我们和没有转换为Ajax应用的GWT应用交互的状态。当我们开发和调试时,我们就一直处在宿主模式下。在这种情况下,Java虚拟机使用GWT内置的浏览器运行GWT应用编译后的class内容,因此能够提供"编码、测试、调试"过程的最佳速度。


  我们可以运行com.google.gwt.dev.GWTShell启动宿主模式。


  4. Web模式(Web Mode)


  Web模式是指已经成功转化为Ajax应用的状态,这种状态下,我们已经开始通过Web方式来访问Ajax应用了。


  在Web模式下运行时,不再需要GWT工具包或者JVM的支持。


  5. 命令行工具


  GWT工具包中提供了几个非常适用的小工具来帮助我们更快的建立GWT应用开发环境:projectCreator、applicationCreator、junitCreator。


  projectCreator
创建在Eclipse中开发GWT应用所需要的项目基本文件和可选的Ant buildfile文件。
  applicationCreator
applicationCreator命令用于创建基本的HelloWorld!应用和GWT应用开发环境。
  junitCreator
生成junti测试代码。
  通过上面的内容,我们已经了解了GWT工具集工作的基本原理和主要特性。有些迫不及待了吧,那么就请随我一起进入GWT应用开发的过程吧,享受应用Java语言开发Ajax应用带来的简单和便利。


  本文中所有的环境准备、实例开发和说明均针对Windows操作平台,如果使用其他的操作系统,请根据实际情况进行适当的调整。


  环境准备


  1、 下载和安装JDK1.4.X


  GWT工具包的编译需要JDK支持,因此在安装GWT工具包之前请下载和安装合适的JDK。GWT工具支持Java语言1.4版本或者以下版本,因此JDK版本选择JDK1.4.X是比较合适的,不需要采用最新的JDK5.0或者更高版本。


  请访问java.sun.com网站上下载安装版本,下载后安装到C:/jdk目录下,本书中的后续内容中将使用%JAVA_HOME%变量来引用这个目录。


  您可以根据实际情况将JDK安装到任意目录下。但是在运行本文中例子的时候,请记住将对应的%JAVA_HOME%变量替换为您的实际安装目录。


  2、 下载和安装GWT


  请访问http://code.google.com/webtoolkit/下载GWT的最新版本,将下载的压缩文件解压缩到C:/GWT目录下。本书中的后续内容中将使用%GWT_HOME%变量来引用这个目录。


  GWT工具包支持不同的操作系统,请根据自己的操作系统选择合适的安装包。


  您可以根据实际情况将GWT安装到任意目录下。但是在运行本文中例子的时候,请记住将对应的%GWT_HOME%变量替换为您的实际安装目录。


  第一个例子-Hello World!


  下面的内容中我们将介绍如何使用GWT工具集来完成第一个GWT的例子-"Hello World!",并且将使用GWT编译及将他转化为Ajax应用,在浏览器中完成测试。


  我们要完成的例子要实现的功能包括:


  1、 在页面上显示一个按钮
  2、 点击该按钮,默认情况下,我们将在按钮后面紧跟着显示字符串"Hello World!"。
  3、 如果点击按钮时,"Hello World!"字符串已经显示在浏览器中,我们要将他隐藏起来。我们现在开始使用GWT工具集完成"Hello World!"例子的开发,下面的步骤是完成"Hello World!"例子开发环境配置、应用开发、编译的基本步骤,同样适用于其他GWT应用的开发,只是根据实际情况可能有增减。
  1、 创建GWT应用开发环境


  从上面的GWT特性部分我们知道,GWT工具包中提供的applicationCreator命令行工具可以帮助我们创建GWT应用开发所需要的环境,因此我们可以直接使用applicationCreator帮助我们完成这项工作。


  打开命令行工具,进入C:/根目录下,执行"mkdi"命令创建新的文件目录HelloWorld。


  C:\> mkdir HelloWorld


  执行下面的命令将%JAVA_HOME%\bin目录和%GWT_HOME%目录加入到PATH路径中。


  C:\>set path=%JAVA_HOME%\bin;%GWT_HOME%


  请将命令行中的%JAVA_HOME%替换为实际环境中JDK的安装目录,将%GWT_HOME%替换为GWT工具包的安装目录。


  进入新创建的HelloWorld目录,然后运行applicationCreator命令创建GWT应用开发环境。


  applicationCreator.cmd命令支持的语法如下。


  ApplicationCreator [-eclipse projectName] [-out dir] [-overwrite] [-ignore] className 其中最重要的一个参数是classname,也就是我们创建的GWT应用中的主Java类,我们这里选择使用org.vivianj.gwt.client.HelloWorld。


  C:\HelloWorld>applicationCreator.cmd org.vivianj.gwt.client.HelloWorld


  根据GWT工具包的默认规则,GWT应用中的主Java类报名的最后一段必须是client。也就是说,只有xxx.client.Xxxx这样命名的Java类才能被识别为正确的GWT应用主类。


  ApplicationCreator工具运行的时候,屏幕上会打印如下内容。


Created directory C:\HelloWorld\src
Created directory C:\HelloWorld\src\org\vivianj\gwt
Created directory C:\HelloWorld\src\org\vivianj\gwt\client
Created directory C:\HelloWorld\src\org\vivianj\gwt\public
Created file C:\HelloWorld\src\org\vivianj\gwt\HelloWorld.gwt.xml
Created file C:\HelloWorld\src\org\vivianj\gwt\public\HelloWorld.html
Created file C:\HelloWorld\src\org\vivianj\gwt\client\HelloWorld.java
Created file C:\HelloWorld\HelloWorld-shell.cmd
Created file C:\HelloWorld\HelloWorld-compile.cmd


  2、 开发"Hello World!"例子


  使用ApplicationCreator工具的时候,ApplicationCreator工具其实已经帮我们生成了符合Hello World!例子要求的全部内容。为了不打断第一个例子的演示过程,我们先简单的了解一下ApplicationCreator工具的生成内容。我们将在将在测试过程后面做出更加详细的分析。


  图1中的src\org\vivianj\gwt\client目录中的HelloWorld.java是GWT应用的主类;src\org\vivianj\gwt\public目录中的HelloWorld.html文件是例子的默认页面;src\org\vivianj\gwt目录下的HelloWorld.gwt.xml是GWT应用的配置文件,提供GWT应用中页面和主类的配置信息;根目录下的HelloWorld-compile.cmd文件用于提供将该GWT应用编译成Ajax的命令;根目录下的HelloWorld-shell.cmd文件用于启动宿主模式(Hosted Mode),方便测试GWT应用。


  3、 在宿主模式下启动"Hello World!"例子


  我们可以直接在命令行中执行HelloWorld-shell.cmd来启动宿主模式(Hosted Mode),运行新创建的"Hello World!"例子。


  C:\HelloWorld>HelloWorld-shell.cmd


  这个命令将启动两个可视化界面:Google Web Toolkit Devel

[1] [2] [3]

相关文章
发表评论】 【Email给朋友】 【打印本页】 【关闭窗口】 【返回顶部

·全国计算机软件专业技术资格(水平)考试,又称资格水平考试,简称软考。
评分: 1 2 3 4 5

    
  • 请您注意
  • 本站经营许可证编号:冀ICP备05012436号
  • 尊重网上道德,遵守中华人民共和国的法律法规
  • 承担一切因您的行为而直接或间接导致的法律责任
  • 本站有权保留或删除留言中的任意内容
  • 您在本站留言板发表的作品,本站有权转载或引用
  • 发表评论即表明您已经阅读并接受上述条款
  • 爱国 守法 自律 真实 文明
 
最新文章
推荐文章
热点文章
论坛新贴
论坛热贴