GWT的部署介绍

GWT特性

 

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

 

1. GWT编译器

 

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

 

2. 跨平台支持

 

如果你使用GWT中提供的显示组件(比如Button)和组装组件(比如VerticalPanel)GWT编译生成的Ajax应用能够支持大部分的浏览器和操作系统,比如Internet ExplorerFirefox等,也能够支持LinuxWindows等不同操作系统。这是因为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应用开发环境:projectCreatorapplicationCreatorjunitCreator

 

 

 

projectCreator

创建在Eclipse中开发GWT应用所需要的项目基本文件和可选的Ant buildfile文件。

applicationCreator

applicationCreator命令用于创建基本的应用和GWT应用开发环境。

junitCreator

生成junti测试代码。

通过上面的内容,我们已经了解了GWT工具集工作的基本原理和主要特性。有些迫不及待了吧,那么就请随我一起进入GWT应用开发的过程吧,享受应用Java语言开发Ajax应用带来的简单和便利。

 

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

 

 

环境准备

 

1 下载和安装JDK

 

GWT工具包的编译需要JDK支持,因此在安装GWT工具包之前请下载和安装合适的JDK。新的GWT工具支持Java语言1.5版本,我在测试中用的是jre1.5.0_12

 

请访问java.sun.com网站上下载安装版本,下载后安装JDK。并配置好JAVA_HOMEPATH,下载、安装、和配置JDK,在这就不做介绍了。

 

2 下载和安装GWT

 

下载GWT工具包,可访问http://code.google.com/webtoolkit/下载GWT的最新版本。我做测试的时候,访问不了这个网站,是在

http://www.codepub.com/software/Google-Web-ToolKit-13263.html下载的windows版本的GWT1.5 工具包。将下载的压缩文件解压缩到C:/GWT目录下或其他目录下。在环境变量中新建GWT_HOME变量,值为C:/GWT 或者其他目录。在PATH变量中增加 ;%GWT_HOME%

 

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

 

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

 

第一个例子 Hello GWT

1 创建GWT应用开发环境

 

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

 

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

 

D:/> mkdir HelloGWT

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

 

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

 

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

 

D:/HelloWorld>applicationCreator.cmd org.vivianj.gwt.client.HelloGWT

 

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

 

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

Created directory D:/HelloGWT/src

Created directory D:/HelloGWT/src/org/vivianj/gwt

Created directory D:/HelloGWT/src/org/vivianj/gwt/client

Created directory D:/HelloGWT/src/org/vivianj/gwt/public

Created file D:/HelloGWT/src/org/vivianj/gwt/HelloGWT.gwt.xml

Created file D:/HelloGWT/src/org/vivianj/gwt/public/HelloGWT.html

Created file D:/HelloGWT/src/org/vivianj/gwt/public/HelloGWT.css

Created file D:/HelloGWT/src/org/vivianj/gwt/client/HelloGWT.java

Created file D:/HelloGWT/HelloGWT-shell.cmd

Created file D:/HelloGWT/HelloGWT-compile.cmd

 

2 开发"HelloGWT"例子

 

使用ApplicationCreator工具的时候,ApplicationCreator工具其实已经帮我们生成了符合HelloGWT!例子要求的全部内容。

 

D:/HelloGWT/src/org/vivianj/gwt/client 目录下自动生成了一个HelloGWT.java文件。该文件是是GWT应用的主类;

D:/HelloGWT/src/org/vivianj/gwt/public 目录下自动生成HelloGWT.cssHelloGWT.html文件。HelloGWT.html文件是例子的默认页面。

D:/HelloGWT/src/org/vivianj/gwt 目录下自动生成了HelloGWT.gwt.xml 文件。HelloGWT.gwt.xmlGWT应用的配置文件,提供GWT应用中页面和主类的配置信息;

 

根目录下的HelloGWT-compile.cmd文件用于提供将该GWT应用编译成Ajax的命令;根目录下的HelloGWT-shell.cmd文件用于启动宿主模式(Hosted Mode),方便测试GWT应用。

 

3 在宿主模式下启动"HelloGWT"例子

 

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

 

D:/HelloGWT>HelloGWT-shell.cmd

 

这个命令将启动两个可视化界面:Google Web Toolkit Development ShellGWT内置的GWT应用浏览器,GWT应用浏览器中将显示"HelloGWT"例子的初始界面,

 

4 编译"HelloGWT"例子

 

要将GWT应用编译成Ajax应用,我们可以执行HelloGWT-compile.cmd

 

D:/HelloGWT>HelloGWT-compile.cmd

 

命令运行时,界面上将会显示下面的内容。

Compiling module org.vivianj.gwt.HelloGWT

Compilation succeeded

Linking compilation into D:/HelloGWT/www/org.vivianj.gwt.HelloGWT

 

其中的第一行显示生成的Ajax应用位于D:/HelloGWT/www/org.vivianj.gwt.HelloGWT目录下。新生成的www目录下有一个名为org.vivianj.gwt.HelloGWT的目录,它的命名规则是GWT主类全名(org.vivianj.gwt.client.HelloGWT)去掉其中的"client."

 

org.vivianj.gwt.HelloGWT目录下的HelloGWT.html文件就是"HelloGWT"例子对应的页面,以.cache.html后缀结尾的文件就是"HelloGWT"例子中对应的Ajax代码部分,而org.vivianj.gwt.HelloGWT.nocache.js文件则是GWT提供的、Ajax代码中需要用到的JavaScript公共函数。其他还有些辅助文件。

 

5 Web模式下测试"Hello World"例子

 

运行HelloWorld-compile.cmd后,GWT应用就已经被编译成Ajax应用了,不再依赖于JDKGWT环境,而仅仅依赖于浏览器。

 

我们打开IE浏览器,打开D:/HelloGWT/www/org.vivianj.gwt.HelloGWT/HelloGWT.html文件,就可以看到"HelloGWT"例子在Web模式下的运行效果

 

文章参考:http://www.diybl.com/course/3_program/java/javashl/20071218/92608.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值