Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4112994
  • 博文数量: 626
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 11080
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-23 13:08
文章分类

全部博文(626)

文章存档

2015年(72)

2014年(48)

2013年(506)

分类: JavaScript

2013-09-23 09:36:32

GWT笔记(Google Web Toolkit)1


一、GWT介绍
1)GWT目的:通过提供相似的Java开发环境,并隐藏各浏览器不兼容的部分,使AJAX开发变得更容易。
2)GWT统一了客户端和服务器端的代码,形成了用一种语言来编写:Java。
这有许多优势:
(1)熟悉Java的开发者比熟悉JavaScript或Flash的开发者多。
(2)Java的开发工具非常多,如Eclipse、NetBeans和IDEA。
3)GWT允许以类似于创建Swing应用程序的方式创建Web应用,它可以创建可视化组件、设置事件驱动,调试等等。
4)在客户端和服务器端统一了语言后,方便共享代码。
5)GWT还可以提取浏览器的DOM,隐藏浏览器之间的不同,扩展了面向对象的UI模式。它使代码更轻便,并支持所有浏览器。
GWT工具箱提供了一个XML解析器、几个和服务器通信的工具、国际化工具、配置工具,以及浏览器历史管理系统。
二、GWT支持平台及安装
GWT的开发受到Windows、Linux以及MacOSX等操作系统的支持。
GWT应用程序还可以部署成Web服务到任意操作系统,并在新版浏览器(如IE6、IE7、Firefox、Opera等等)中浏览。
GWT需要JDK1.4.2及以上版本的支持。另外,还需要一个IDE,如Eclipse3.2。最后,需要下载Google Web Toolkit SDK(1.2.22及以上版本,现在是1.4)。
三、搭建脚手架(scaffolding)
在命令行提示符中,运行下列命令:
1) c:/>mkdir c:/gwt-projects/MyProject
2) c:/>cd c:/gwt-projects/MyProject
3) c:/gwt-projects/MyProject>projectCreator -eclipse MyProject
Created directory c:/gwt-projects/MyProject/src
Created directory c:/gwt-projects/MyProject/test
Created file c:/gwt-projects/MyProject/.project
Created file c:/gwt-projects/MyProject/.classpath
4) c:/gwt-projects/MyProject>applicationCreator -eclipse MyProject com.xyz.client.MyApp
Created directory c:/gwt-projects/MyProject/src/com/xyz
Created directory c:/gwt-projects/MyProject/src/com/xyz/client
Created directory c:/gwt-projects/MyProject/src/com/xyz/public
Created file c:/gwt-projects/MyProject/src/com/xyz/MyApp.gwt.xml
Created file c:/gwt-projects/MyProject/src/com/xyz/public/MyApp.html
Created file c:/gwt-projects/MyProject/src/com/xyz/client/MyApp.java
Created file c:/gwt-projects/MyProject/MyApp.launch
Created file c:/gwt-projects/MyProject/MyApp-shell.cmd
Created file c:/gwt-projects/MyProject/MyApp-compile.cmd
------------------------------
projectCreator和applicationCreator命令是shell脚本,由GWT提供,因此需要指定环境变量PATH,增加GWT目录到PATH中去。
projectCreator建立了一个普通的GWT项目的框架,而applicationCreator则添加了一个GWT应用。
四、运行和调试
在Eclipse外部运行应用程序:使用脚手架(scaffolding)提供的shell脚本命令。
c:/gwt-projects/MyProject>MyApp-shell
如果工作正常的话,将出现两个窗口:
(1)GWT开发shell窗口
(2)Web浏览器窗口
在Eclipse IDE下运行GWT项目,可以先导入项目,如(File-->Import-->Existing Project into Workspace)。
然后选择Run-->Debug...,再在Java Application下点击the launch configuration titled MyApp,然后点击Debug,也会出现上述的两个窗口。
进入调试模式也很简单,可以在MyApp.java内任意设置断点,在调试模式下进行单步跟踪,如检查变量的值等等。
它使你能够采用Java来开发Ajax应用。
五、主机(Hosted)模式 VS Web模式
在先前,你可以使用主机模式调用GWT应用程序。主机模式仅用于开发阶段。而在进入产品阶段,你的应用程序将运行在Web模式下。
在使用GWT开发时,你需要理解两者的不同。
注意:主机模式目前只在Windows和Linux下有效。
1)主机模式(Hosted Mode)
主机模式是一种独特的混合开发环境,它让你的代码作为真正的Java代码来运行,而且还嵌入在浏览器中。
在主机模式下执行是由Google Web Toolkit开发shell来控制的。
这个开发shell实际上是一个Eclipse富客户应用程序,它由shell控制台、Tomcat服务器、一个或多个主机浏览器组成。
主机浏览器(Hosted Browser)和开发shell之间有两个紧密连接:
(1)一是HTTP连接,得到web页面、.css文件、图片和其它资源。
所有的这些都是由内嵌的Tomcat服务器使用servlet调用com.google.gwt.dev.shell.GWTShellServlet来处理的。
(2)第二个连接是一个后门(back-door),用于拦截在主机浏览器和shell之间所有的交互行为。Java代码依次调用实际的客户端代码,它由IDE编译成字节码。
P4:How a GWT page is loaded in hosted mode?
(1)shell程序打开主机浏览器窗口,载入MyApp.html;
(2)MyApp.html通过

阅读(1596) | 评论(0) | 转发(0) |
0

上一篇: J2EE Architecture(19)

下一篇: GWT笔记(2)

给主人留下些什么吧!~~