在我们开始使用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应用程序.