📜  GWT-应用程序

📅  最后修改于: 2020-10-25 04:36:39             🧑  作者: Mango


在开始使用GWT创建实际的“ HelloWorld”应用程序之前,让我们看看GWT应用程序的实际部分是什么-

GWT应用程序由以下四个重要部分组成,其中最后一部分是可选的,但前三个部分是必需的。

  • 模块描述符
  • 公共资源
  • 客户端代码
  • 服务器端代码

典型的gwt应用程序HelloWord的不同部分的示例位置如下所示-

Name Location
Project root HelloWorld/
Module descriptor src/com/tutorialspoint/HelloWorld.gwt.xml
Public resources src/com/tutorialspoint/war/
Client-side code src/com/tutorialspoint/client/
Server-side code src/com/tutorialspoint/server/

模块描述符

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

模块描述符文件的扩展名为* .gwt.xml,其中*是应用程序的名称,该文件应位于项目的根目录中。

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



   
   

   
   

   
   

   
   
   

   
   
   

   
   
   

   
   
   

以下是有关模块描述符中使用的不同部分的简短详细信息。

Sr.No. Nodes & Description
1

This provides name of the application.

2

This adds other gwt module in application just like import does in java applications. Any number of modules can be inherited in this manner.

3

This specifies the name of class which will start loading the GWT Application. Any number of entry-point classes can be added and they are called sequentially in the order in which they appear in the module file. So when the onModuleLoad() of your first entry point finishes, the next entry point is called immediately.

4

This specifies the names of source folders which GWT compiler will search for source compilation.

5

The public path is the place in your project where static resources referenced by your GWT module, such as CSS or images, are stored. The default public path is the public subdirectory underneath where the Module XML File is stored.

6

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,最终将在浏览器内部运行。可以使用模块配置文件中的元素来配置这些资源的位置。

例如,入口点代码将用作客户端代码,并且其位置将使用指定。

模块入口点是可分配给EntryPoint的任何类,并且可以在不使用参数的情况下进行构造。加载模块时,将实例化每个入口点类,并调用其EntryPoint.onModuleLoad()方法。 HelloWorld Entry Point类的示例如下:

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

服务器端代码

这是应用程序的服务器端部分,非常可选。如果您不对应用程序进行任何后端处理,则不需要此部分,但是如果后端需要进行某些处理并且您的客户端应用程序与服务器交互,那么您将必须开发这些组件。

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