开发手册 欢迎您!
软件开发者资料库

GWT - 应用程序

GWT应用程序 - 从简单和简单的步骤学习Google Web Toolkit(GWT)编程,从基本到高级概念,包括概述,环境设置,Web应用程序创建,部署和调试应用程序,CSS样式,组件模型,基本,表单和复杂小部件,布局面板,事件处理,自定义小部件,UIBinder,RPC通信,JUnit集成,国际化,历史类,书签支持,日志框架。

在我们开始使用GWT创建实际的"HelloWorld"应用程序之前,让我们看看GWT应用程序的实际部分是 :

GWT应用程序包含以下四个重要部分最后一部分是可选的部分,但前三部分是强制性的.

  • 模块描述符

  • 公共资源

  • 客户端代码

  • 服务器端代码

典型gwt应用程序 HelloWord 的不同部分的样本位置如下所示 :

名称位置
项目根目录HelloWorld/
模块描述符src/com/it1352/HelloWorld.gwt.xml
公共资源src/com/I T屋/war/
客户端代码src/com/it1352/客户端/
服务器端代码src/com/it1352/服务器/

模块描述符

模块描述符是XML格式的配置文件,用于配置GWT应用程序.

模块描述符文件扩展名为* .gwt.xml,其中*是应用程序的名称和此文件应该驻留在项目的根目录中.

以下是HelloWorld应用程序的默认模块描述符HelloWorld.gwt.xml :

                                                      

以下是模块描述符中使用的不同部分的简要细节.

Sr.No.Nodes&描述
1

< module rename-to ="helloworld">

这提供了应用程序的名称.

2

< ; inherits name ="logical-module-name"/>

这在应用程序中添加了其他gwt模块,就像java应用程序中的import一样.可以通过这种方式继承任意数量的模块.

3

< entry-point class ="classname"/>

这指定将开始加载GWT应用程序的类的名称.可以添加任意数量的入口点类,并按照它们在模块文件中出现的顺序依次调用它们.因此,当您的第一个入口点的onModuleLoad()完成时,将立即调用下一个入口点.

4

< source path ="path"/>

这指定了GWT编译器将搜索源编译的源文件夹的名称.

5

< public path ="path"/>

公共路径是项目中存储GWT模块引用的静态资源(如CSS或图像)的位置.默认的公共路径是存储模块XML文件的公共子目录.

6

< script src ="js-url"/>

自动注入位于src指定位置的外部JavaScript文件.

7

< stylesheet src ="css-url"/>

自动注入位于src指定位置的外部CSS文件.

公共资源

这些是GWT模块引用的所有文件,例如主机HTML页面,CSS或图像.

可以使用< public path ="path"/>配置这些资源的位置.模块配置文件中的元素.默认情况下,它是存储模块XML文件的公共子目录.

将应用程序编译为JavaScript时,可以在公共路径上找到的所有文件都复制到模块的输出目录.

最重要的公共资源是主页,用于调用实际的GWT应用程序.应用程序的典型HTML主机页面可能根本不包含任何可见的HTML正文内容,但总是希望通过< script .../>包含GWT应用程序.标记如下

         Hello World                                 

Hello World

      

Welcome to first GWT application

   

以下是我们在主页中包含的示例样式表 :

body {   text-align: center;   font-family: verdana, sans-serif;}h1 {   font-size: 2em;   font-weight: bold;   color: #777777;   margin: 40px 0px 70px;   text-align: center;}

客户端代码

这是实现业务逻辑的实际Java代码应用程序和GWT编译器转换为JavaScript,最终将在浏览器中运行.可以使用< source path ="path"/>配置这些资源的位置.模块配置文件中的元素.

例如入口点代码将用作客户端代码,其位置将使用< source path ="path指定"/>.

模块入口点是可分配给 EntryPoint 且可以不带参数构建的任何类.加载模块时,将实例化每个入口点类,并调用其 EntryPoint.onModuleLoad()方法.示例HelloWorld入口点类将如下 :

public class HelloWorld implements EntryPoint {   public void onModuleLoad() {      Window.alert("Hello, World!");   }}

服务器端代码

这是服务器端的一部分你的应用程序和它非常可选.如果您没有在应用程序中进行任何后端处理,那么您不需要此部分,但如果后端需要某些处理并且您的客户端应用程序与服务器交互,那么您将不得不开发这些组件.

下一章将利用上述所有概念,使用Eclipse IDE创建HelloWorld应用程序.