- 浏览: 332307 次
- 性别:
- 来自: 温州
文章分类
最新评论
-
helloworldlove:
Axis_UNZIP_PATH\Axis-version\we ...
3步把您的java程序转换为webservice -
hcqenjoy:
这个工具能再提供下吗 已经没办法下载了 谢谢
汉化 Flex Builder 3 帮助文档 -
NASa_CJ:
String source = HttpClientExamp ...
利用HttpClient获取网页内容 -
zlsj80:
下载地址无效了,楼主修正一下吧
汉化 Flex Builder 3 帮助文档 -
fykyx521:
下载地址都不能用了,是不过时了
汉化 Flex Builder 3 帮助文档
Ajax并不是本文的中心关注点,因此这里不再赘述,请大家访问参考资源区的相关链接,了解更多关于Ajax技术和应用方面的知识。
众所周知,即使对于Ajax技术非常熟悉的开发者而言,Ajax应用的开发和调试过程也不是一件容易的事情,更困难的是,到目前为止,一直没有出现合适的开发工具能够支持Ajax应用的开发和调试。
与此相反的是,Java语言--企业应用开发的主流语言-的开发和调试过程却因为有各种各样开发工具的支持而简单的多,而且这样的开发工具我们可以免费获得,比如Eclipse、NetBeans。
开发出来的Java应用将由GWT开发包提供的编译工具编译后声生成对应的、应用了Ajax技术的Web应用,Java应用中出现的、和服务器之间的交互动作被自动生成的异步调用代码所代替。
GWT除了支持将应用Java语言开发的应用转化为Ajax应用,同时提供了更多的高级特性,下面是这些特性的简单描述。
我们可以运行com.google.gwt.dev.GWTShell启动宿主模式。
Web模式是指已经成功转化为Ajax应用的状态,这种状态下,我们已经开始通过Web方式来访问Ajax应用了。
在Web模式下运行时,不再需要GWT工具包或者JVM的支持。
GWT工具包中提供了几个非常适用的小工具来帮助我们更快的建立GWT应用开发环境:projectCreator、applicationCreator、junitCreator。
- projectCreator
创建在Eclipse中开发GWT应用所需要的项目基本文件和可选的Ant buildfile文件。 - applicationCreator
applicationCreator命令用于创建基本的HelloWorld!应用和GWT应用开发环境。 - junitCreator
生成junti测试代码。
通过上面的内容,我们已经了解了GWT工具集工作的基本原理和主要特性。有些迫不及待了吧,那么就请随我一起进入GWT应用开发的过程吧,享受应用Java语言开发Ajax应用带来的简单和便利。
本文中所有的环境准备、实例开发和说明均针对Windows操作平台,如果使用其他的操作系统,请根据实际情况进行适当的调整。
请访问java.sun.com网站上下载安装版本,下载后安装到C:/jdk目录下,本书中的后续内容中将使用%JAVA_HOME%变量来引用这个目录。
您可以根据实际情况将JDK安装到任意目录下。但是在运行本文中例子的时候,请记住将对应的%JAVA_HOME%变量替换为您的实际安装目录。
GWT工具包支持不同的操作系统,请根据自己的操作系统选择合适的安装包。
您可以根据实际情况将GWT安装到任意目录下。但是在运行本文中例子的时候,请记住将对应的%GWT_HOME%变量替换为您的实际安装目录。
下面的内容中我们将介绍如何使用GWT工具集来完成第一个GWT的例子-"Hello World!",并且将使用GWT编译及将他转化为Ajax应用,在浏览器中完成测试。
- 1、 在页面上显示一个按钮
- 2、 点击该按钮,默认情况下,我们将在按钮后面紧跟着显示字符串"Hello World!"。
- 3、 如果点击按钮时,"Hello World!"字符串已经显示在浏览器中,我们要将他隐藏起来。我们现在开始使用GWT工具集完成"Hello World!"例子的开发,下面的步骤是完成"Hello World!"例子开发环境配置、应用开发、编译的基本步骤,同样适用于其他GWT应用的开发,只是根据实际情况可能有增减。
打开命令行工具,进入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命令支持的语法如下。
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
图1中显示了ApplicationCreator工具执行后生成的目录结构。
我们可以直接在命令行中执行HelloWorld-shell.cmd来启动宿主模式(Hosted Mode),运行新创建的"Hello World!"例子。
C:\HelloWorld>HelloWorld-shell.cmd |
图2 Google Web Toolkit Development Shell运行界面
图4 "Hello World!"例子-单击"Clieck Me"按钮后的界面
要将GWT应用编译成Ajax应用,我们可以执行HelloWorld-compile.cmd。
C:\HelloWorld>HelloWorld-compile.cmd
Output will be written into C:\HelloWorld\www\org.vivianj.gwt.HelloWorld Copying all files found on public path Compilation succeeded |
其中的第一行显示生成的Ajax应用位于C:\HelloWorld\www\org.vivianj.gwt.HelloWorld目录下。
运行HelloWorld-compile.cmd后,GWT应用就已经被编译成Ajax应用了,不再依赖于JDK和GWT环境,而仅仅依赖于浏览器。
图6 Web模式下运行"HelloWorld!"例子的默认效果
图7 Web模式下运行"HelloWorld!"例子-单击"Click Me"按钮后的效果
我们将主要介绍HelloWorld.html中和GWT相关的内容,HelloWorld.html文件的全部内容见清单1。
24. <meta name='gwt:module' content='org.vivianj.gwt.HelloWorld'> |
40. <script language="javascript" src="gwt.js"></script> |
56. <td id="slot1"></td><td id="slot2"></td> |
我们将在主类HelloWorld.java的源代码中使用RootPanel.get("slot1")来获得对该单元格的引用,请参考下面的"主类HelloWorld"部分的说明。
43. <iframe id="__gwt_historyFrame" style="width:0;height:0;border:0"></iframe> |
在HelloWorld.html的第43行,我们使用iframe标签来设置当前页支持历史功能,iframe的属性必须和上面的内容保持一致,否则将不会起到任何效果。
清单1 src\org\vivianj\gwt\public\public\HelloWorld.html
1. <html>
2. <head>
3.
4. <!-- -->
5. <!-- Any title is fine -->
6. <!-- -->
7. <title>Wrapper HTML for HelloWorld</title>
8.
9. <!-- -->
10. <!-- Use normal html, such as style -->
11. <!-- -->
12. <style>
13. body,td,a,div,.p{font-family:arial,sans-serif}
14. div,td{color:#000000}
15. a:link,.w,.w a:link{color:#0000cc}
16. a:visited{color:#551a8b}
17. a:active{color:#ff0000}
18. </style>
19.
20. <!-- -->
21. <!-- The module reference below is the link -->
22. <!-- between html and your Web Toolkit module -->
23. <!-- -->
24. <meta name='gwt:module' content='org.vivianj.gwt.HelloWorld'>
25.
26. </head>
27.
28. <!-- -->
29. <!-- The body can have arbitrary html, or -->
30. <!-- you can leave the body empty if you want -->
31. <!-- to create a completely dynamic ui -->
32. <!-- -->
33. <body>
34.
35. <!-- -->
36. <!-- This script is required bootstrap stuff. -->
37. <!-- You can put it in the HEAD, but startup -->
38. <!-- is slightly faster if you include it here. -->
39. <!-- -->
40. <script language="javascript" src="gwt.js"></script>
41.
42. <!-- OPTIONAL: include this if you want history support -->
43. <iframe id="__gwt_historyFrame"
style="width:0;height:0;border:0"></iframe>
44.
45. <h1>HelloWorld</h1>
46.
47. <p>
48. This is an example of a host page for the HelloWorld application.
49. You can attach a Web Toolkit module to any HTML page you like,
50. making it easy to add bits of AJAX functionality to existing
pages
51. without starting from scratch.
52. </p>
53.
54. <table align=center>
55. <tr>
56. <td id="slot1"></td><td
id="slot2"></td>
57. </tr>
58. </table>
59. </body>
60. </html>
主类HelloWorld必须继承自com.google.gwt.core.client.EntryPoint类,并且覆盖其public void onModuleLoad()方法。
HelloWorld.java中的19和20行,就声明了Button和Label两个显示组件。
19. final Button button = new Button("Click me"); 20. final Label label = new Label(); |
36. RootPanel.get("slot1").add(button); 37. RootPanel.get("slot2").add(label); |
22. button.addClickListener(new ClickListener() { 23. public void onClick(Widget sender) { 24. if (label.getText().equals("")) 25. label.setText("Hello World!"); 26. else 27. label.setText(""); 28. } 29. }); |
清单2 src\org\vivianj\gwt\client\HelloWorld.java
1. package org.vivianj.gwt.client;
2.
3. import com.google.gwt.core.client.EntryPoint;
4. import com.google.gwt.user.client.ui.Button;
5. import com.google.gwt.user.client.ui.ClickListener;
6. import com.google.gwt.user.client.ui.Label;
7. import com.google.gwt.user.client.ui.RootPanel;
8. import com.google.gwt.user.client.ui.Widget;
9.
10. /**
11. * Entry point classes define <code>onModuleLoad()</code>.
12. */
13. public class HelloWorld implements EntryPoint {
14.
15. /**
16. * This is the entry point method.
17. */
18. public void onModuleLoad() {
19. final Button button = new Button("Click me");
20. final Label label = new Label();
21.
22. button.addClickListener(new ClickListener() {
23. public void onClick(Widget sender) {
24. if (label.getText().equals(""))
25. label.setText("Hello World!");
26. else
27. label.setText("");
28. }
29. });
30.
31. // Assume that the host HTML has elements defined whose
32. // IDs are "slot1", "slot2". In a real app, you probably would not want
33. // to hard-code IDs. Instead, you could, for example, search for all
34. // elements with a particular CSS class and replace them with widgets.
35. //
36. RootPanel.get("slot1").add(button);
37. RootPanel.get("slot2").add(label);
38. }
39. }
发表评论
-
Java 5.0 多线程编程实践
2006-01-23 13:20 759<noscript type="text/ja ... -
web开发框架——JSF开发实战
2006-01-23 20:01 1402JSF开发实战的第一篇(jsf开发实战一)演示了如何建立一个最 ... -
Tomcat 的数据库连接池设置与应用
2006-01-23 20:28 7561.将数据库驱动程序的JAR文件放在Tomcat的 commo ... -
Eclipse Plugins Manager Beta 0.1 (Link's Only) 发布
2006-03-18 17:11 775<noscript type="text/ja ... -
常青图书管理系统 BETA V0.1
2006-03-19 15:03 832<noscript type="text/ja ... -
Java程序的性能优化
2006-03-19 15:15 796<noscript type="text/ja ... -
Java中四种XML解析技术之不完全测试
2006-03-20 12:16 690<noscript type="text/ja ... -
解决Tomcat中文乱码问题
2006-03-26 22:58 857一、中文问题的来源 计算机最初的操作系统支持的编码是单 ... -
Swing技巧. 设置全局字体(sun jdk)
2006-04-02 14:04 1327S ... -
Dom4j 使用简介
2006-04-05 20:19 662DOM4J是dom4j.org出品的一个开源XML解析包 ... -
Java手机技术 之 J2ME及其基本慨念
2006-04-06 12:42 710如果您曾经http://www.javasoft.com ;网 ... -
Java手机技术 之 J2ME新手入门要点
2006-04-06 12:50 995一、J2ME中需要的Java基础知识现在有大部分人,都是从零开 ... -
JAVA设计模式系列之Singleton模式
2006-04-06 13:18 814单态定义: Singleton模式主要作用是保证在Java应 ... -
高手指点你实战体会Java的多线程编程
2006-04-06 13:39 829在 Java 程序中使用多线程要比在 C 或 C++ 中容 ... -
Java基础--JSP应用语法详解大全
2006-04-06 13:49 8841)HTML注释: 可以用注释内容,也可以用表达式. 2) ... -
javamail使用完全手册
2006-04-08 20:44 8631,哪里是开始:初始环境,安装好你的j2sdk和你的web服务 ... -
JavaMail通过sina的smtp验证
2006-04-08 20:47 1107import javax.mail.*;import java ... -
用javamail发送邮件
2006-04-08 20:49 989用javamail发送邮件 aistill(原作) ... -
修改后可以发送附件、抄送、密送的javabean
2006-04-08 20:51 922/**A ... -
javamail实现smtp身份认证
2006-04-08 20:57 938现在大多 ...
相关推荐
### 云应用开发 ——Google App Engine & Google Web Toolkit入门指南 #### 第1章 应该了解下 ##### 1.1 云基本知识 云计算是一种通过互联网提供按需计算资源和服务的方式,包括网络、服务器、存储、应用程序和...
**Java开发人员的Ajax:Google Web Toolkit (GWT) 入门** Google Web Toolkit (GWT) 是一个强大的工具,它允许Java开发人员使用熟悉的Java语言来构建高性能、跨浏览器的Ajax应用程序。GWT通过将Java代码编译为优化...
《从新手到专业:Google Web Toolkit入门指南》一书由Bram Smeets、Uri Boness和Roald Bankras合著,于2008年出版。本书旨在为初学者提供一套全面的学习路径,帮助他们掌握Google Web Toolkit(GWT)的使用技巧,...
《从新手到专业:Google Web Toolkit入门指南》一书由Bram Smeets、Uri Boness和Roald Bankras合著,于2008年出版。本书旨在为初学者提供一套全面的教程,帮助他们掌握Google Web Toolkit(GWT)的使用方法,从而...
Google Web Toolkit(GWT)是一个用于开发和优化复杂浏览器端应用的开源工具集,它允许开发者使用Java语言编写前端代码,然后通过编译器将Java代码转换成兼容各主流浏览器的JavaScript、HTML和CSS。《Google Web工具...
云应用开发——Google+App+Engine+&+Google+Web+Toolkit入门指南 云应用开发——Google+App+Engine+&+Google+Web+Toolkit入门指南
《Accelerated GWT: Building Enterprise Google Web Toolkit Applications》是一本专注于使用Google Web Toolkit(GWT)开发企业级Web应用程序的专业指南。这本书详细介绍了如何利用GWT的强大功能来构建高效、可...
**GWT(Google Web Toolkit)中文教程** GWT(Google Web Toolkit)是一个开源的Java开发框架,由Google推出,主要用于构建高性能、富交互式的Web应用。这个框架允许开发者使用Java语言编写前端代码,并通过编译器...
- **定义与背景**:Google Web Toolkit(简称 GWT)是一种开源框架,由Google开发,用于构建复杂的客户端Web应用程序。它允许开发者用Java编写前端代码,然后编译成浏览器可以理解的JavaScript和HTML。 - **主要特性...
在提供的文件中,"Google Web Toolkit 入门.doc"和"Google GWT .doc"可能涉及到Google Web Toolkit(GWT),这是一个Java开发框架,允许用Java编写前端代码,然后编译成优化过的JavaScript。GWT也支持CSS,开发过程...
综上所述,入门教程涉及到了安装与配置Eclipse开发环境、安装Google App Engine插件、创建和配置Web应用项目以及编译时的Java版本兼容性问题,这些知识点对于想要开始使用Google App Engine开发Web应用的开发者来说...
**Ajax与.NET:Web 2.0入门指南** Ajax(Asynchronous JavaScript and XML)是一种用于创建动态网页的技术,它使得用户无需刷新整个页面就能与服务器进行数据交互,极大地提升了用户体验。Ajax的核心在于JavaScript...
GWT,全称为Google Web Toolkit,是Google推出的一款开源JavaScript开发框架,允许Java开发者使用Java语言来编写Web应用。GWT通过编译器将Java代码转换为高效的JavaScript,从而在客户端浏览器上运行。这个“GWT入门...
**GWT(Google Web Toolkit)入门与经典实例解析** GWT,全称为Google Web Toolkit,是Google推出的一款开源的JavaScript开发框架,旨在帮助Java开发者更高效地构建和优化复杂的、可伸缩的Web应用程序。GWT的核心...
《Gwt In Action》这本书是Google Web Toolkit (GWT)技术的重要参考资料,旨在帮助读者从入门到精通,全面掌握GWT及其相关技术,如Ajax和JS。以下将详细阐述GWT、Ajax、JS以及这本书中可能涉及的关键知识点。 1. ...