`
liugang594
  • 浏览: 991305 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【译】GWT入门:创建一个GWT Project

    博客分类:
  • GWT
 
阅读更多

【译自:https://developers.google.com/web-toolkit/doc/latest/tutorial/create?hl=zh-CN

 

前两篇里 【译】GWT入门:设置Eclipse【译】GWT入门:准备环境 分别介绍了如何在命令行下和eclipse里创建和启动一个GWT 的demo project,因此这里就略过这部分,将具体介绍一下生成的文件和包。

 

这里工程名是StockWatcher,包是 com.google.gwt.sample.stockwatcher 。以下介绍都是基于Eclipse创建的工程之上的。

 

一、目录介绍

  • /src/com/google/gwt/sample/stockwatcher
    包括GWT的模块定义(Module)和应用初始化文件
     
  • /test/com/google/gwt/sample/stockwatcher
    包括测试文件
  • /war
    所有需要发布的静态文件、资源,例如图片, css文件, html文件等等
  • /war/WEB-INF
    包括Java Web应用文件,例如web.xml等
  • /war/WEB-INF/lib
    包括Java Web库

 

二、文件介绍

  • StockWatcher.gwt.xml
    GWT模块定义文件
  • StockWatcher.html
    主页
  • StockWatcher.css
    css样式定义文件
  • web.xml
    Java Web应用描述文件
  • StockWatcher.java
    GWT Entry point 类 (GWT入口类)
  • GreetingService.java, GreetingServiceAsync.java, GreetingServiceImpl.java
    生成的RPC示例类文件
  • gwt-servlet.jar
    GWT server运行库
  • StockWatcherTest.java
    测试类

 

三、检查生成的Project component

检查一下生成的一些文件,看看它们是怎么一起组合成你的GWT项目的。

module XML 文件

打开文件StockWatcher/src/com/google/gwt/sample/stockwatcher/StockWatcher.gwt.xml。

 

它包含了GWT模块定义,资源集和一个shared包。默认下,模块继承了每个项目都必需的GWT核心模块;除此,你也可以指定继承一些其他的模块

 

<?xml version="1.0" encoding="UTF-8"?>
<!-- When updating your version of GWT, you should also update this DTD reference, 
	so that your app can take advantage of the latest GWT module capabilities. -->
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.5.0//EN"
  "http://google-web-toolkit.googlecode.com/svn/tags/2.5.0/distro-source/core/src/gwt-module.dtd">
<module rename-to='stockwatcher'>
	<!-- Inherit the core Web Toolkit stuff. -->
	<inherits name='com.google.gwt.user.User' />

	<!-- Inherit the default GWT style sheet. You can change -->
	<!-- the theme of your GWT application by uncommenting -->
	<!-- any one of the following lines. -->
	<inherits name='com.google.gwt.user.theme.clean.Clean' />
	<!-- <inherits name='com.google.gwt.user.theme.standard.Standard'/> -->
	<!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
	<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->

	<!-- Other module inherits -->

	<!-- Specify the app entry point class. -->
	<entry-point class='com.google.gwt.sample.stockwatcher.client.StockWatcher' />

	<!-- Specify the paths for translatable code -->
	<source path='client' />
	<source path='shared' />

</module>

 

在这个文件里,指定了当前工程的入口类。为了编译,一个GWT模块必须有一个入口;如果没有,则此模块只能被用作给其他模块继承。可以包含一些其他的、已经在它们内部定义了入口(Entry Point)的模块,如果这样,那当前模块就同时拥有了多个入口, 每个入口将会顺序执行。

 

默认下,StockWatcher有两个样式文件:默认的GWT 标准样式(standard.css)(通过继承theme来引用)和应用自己的样式 StockWatcher.css(生成的)。后面将会介绍如何覆盖默认的样式。

 

主页

打开主页文件 StockWatcher/war/StockWatcher.html

 

在这个html文件里,引用了由GWT生成的javascript源文件,这个javascript文件负责页面上的动态生成的元素。页面上的body元素的所有内容都可以动态的生成。 不过在我们的StockWatcher示例里, 将混合使用静态和动态元素。 其中在html页里创建了一个<div>元素作为将动态生成的元素的占位符

 

选择 Quirks 模式还是 Standards 模式

 

为了提供最好的跨浏览器兼容功能,GWT设置doctype声明为HTML 4.01 版本, 也就是说设置浏览器的渲染引擎为 Quirks 模式。如果你想使用,例如,Standard的模式, 可以看看number of other doctypes ,可以强制浏览器使用这个渲染模式。 一般来说, GWT应用在 Standards 模式也和 Quirks 模式下没什么区别,这个问题在GWT 1.5里得到了极大的提升, 但是还是有很多工作需要继续。

 

保持历史信息

 

GWT提供了一种机制,可以帮助应用满足用户在访问网页时的体验。尤其是他们可以使用浏览器的回退(back)按钮, 例如在一个多页向导的情形,或者购物车等场景。 主页 (host page) 包含了一个iframe tag, 用于在GWT应用中与历史信息交互。要了解更多,可以参见 History 。

样式

打开样式文件  StockWatcher/war/StockWatcher.css。

 

一个样式关联到一个工程上。默认的,这个工程的样式 StockWatcher.css,包含这个工程的样式规则。在Applying Style 一节里, 你将学习如何定义、修改工程的样式。

 

和任何web页一样,你可以指定多个样式文件。

 

Java源码

 

打开StockWatcher工程的入口类: StockWatcher/src/com/google/gwt/sample/stockwatcher/client/StockWatcher.java。

 

它是当前工程的Java源码,将作为客户端运行(即会被最终被编译成Javascript程序)。在这个教程里, 也将学习到如果通过修改它来修改客户端显示。

 

StockWatcher类实现了GWT的EntryPoint接口,它包含了 onModuleLoad 文件。因为StockWatcher类被指定为入口类, 因此,当你运行StockWatcher程序时,onModuleLoad 方法就会被调用。

 

StockWatcher类通过你在StockWatcher的module定义(StockWatcher.gwt.xml)中包含的其他GWT模块获取一些其他的功能。例如, 当构建用户界面时,你也可以包含一些来自 com.google.gwt.user.client.ui 包里的类型和资源, 因为它是GWT核心模块的一个部分,包含在com.google.gwt.user.User模块里。

分享到:
评论

相关推荐

    GWT入门 GWT中文教程

    首先,EXT-GWT2.0.1是EXT-GWT(GWT-Ext)的一个版本,它是基于GWT的组件库,提供了丰富的用户界面组件,如表格、树形视图、菜单等,使得开发者可以构建出具有桌面级用户体验的Web应用。EXT-GWT的API和DOC文档对于...

    面向 Java 开发人员的 Ajax: Google Web Toolkit 入门(GWT入门)

    2. **创建第一个GWT应用**: 通过IDE创建一个新的GWT模块,编写简单的Hello World程序,了解基本的Widget使用和布局管理。 3. **理解UI构建**: 学习如何使用UiBinder创建用户界面,掌握控件的事件处理和数据绑定。 ...

    Ext GWT 2.0: Beginner's Guide

    Ext GWT(GWT eXtension)是Google Web Toolkit(GWT)的一个扩展库,它为GWT添加了更多的组件和功能,使得开发者能够创建出更富交互性和美观的用户界面。在2.0版本中,Ext GWT引入了许多新特性,提升了性能和可用性...

    Gwt中文手册,GWt入门

    Gwt中文手册,GWt入门Gwt中文手册,GWt入门Gwt中文手册,GWt入门

    gwt入门项目代码

    2. **GWT的开发环境**:设置和配置Eclipse或IntelliJ IDEA等IDE,安装GWT插件,创建一个新的GWT项目。 3. **GXT的引入和使用**:GXT库的引入,如添加依赖到项目构建路径,学习如何使用GXT的组件,如表格、按钮、...

    SmartGWT 入门 SmartGWT 入门

    **SmartGWT** 实际上是对 **SmartClient** Ajax框架的一层封装,后者是一个成熟且广泛应用于企业级应用的Ajax框架。**SmartGWT** 提供了丰富的UI组件和强大的服务器端数据整合能力,这使得开发者能够快速构建出操作...

    GWT入门和进阶

    安装SDK后,创建一个新的GWT项目,包括设置模块文件.gwt.xml,定义项目的源代码路径和库依赖。 **2. 编写客户端代码** GWT的核心在于它的Java-to-JavaScript编译器,你可以像平常编写Java程序一样编写GWT代码。例如...

    GWT工具GWT工具GWT工具GWT工具GWT工具GWT工具

    fwefwefwGWT工具GWT工具GWT工具GWT工具GWT工具GWT工具

    gwt入门-gwt从这里开始

    使用 `applicationCreator` 工具可以快速创建一个新的 GWT 应用程序。例如,通过命令行调用 `applicationCreator.cmd`,指定 Eclipse 集成(-eclipse)、项目名称(GWTLogon)、入口类名...

    GWT入门与经典实例解析

    扫描完整版

    GWT入门与经典实例解析源码

    GWT入门与经典实例解析源码提供了一个学习和实践GWT开发的宝贵资源,下面将详细介绍GWT的关键概念、核心特性以及通过实例解析来深入理解其工作原理。 1. **GWT的安装与设置**: 在开始GWT项目之前,你需要安装Java...

    GWT+开发和部署.doc

    3. 创建GWT模块:创建一个GWT模块,它相当于一个页面,每个模块都有一个module名.gwt.xml文件,该文件中定义了这个页面需要使用到的所有的资源。 4. 编写GWT代码:使用Java语言编写GWT代码,定义界面和逻辑。 5. ...

    GWT入门实例

    3. **创建第一个GWT应用**:创建一个新的GWT项目,并编写第一个Hello World程序。这通常涉及到创建一个新的GWT模块,定义一个简单的用户界面(UI)组件,比如一个按钮或者文本框,并处理用户交互事件。 4. **GWT的...

    GWT入门教程+实例代码

    1. **模块(Module)**:GWT应用由一个或多个模块组成,每个模块定义了一组类和资源,以及它们如何被编译和打包。 2. **用户界面(UI)**:GWT提供了一系列Widget(组件),如按钮、文本框等,用于构建用户界面。...

    GWT入门及用例文档

    3. **宿主模式(Hosted Mode)**:宿主模式是GWT的一个强大功能,它允许开发者在开发环境中直接运行和调试Java代码,就像在本地运行Java应用一样,极大地提高了开发效率。 4. **模块化和重用**:GWT支持模块化开发,...

    GWT入门教程的好东西啊

    对于初学者而言,这无疑是一个重要的知识点,因为它不仅简化了Web开发流程,还提升了开发效率。 #### 二、为什么选择GWT? - **解决开发工具的缺失问题**:Ajax技术虽然强大,但缺乏成熟的开发工具支持其开发与...

    gwt-ext explorer eclipse project 入门与提高

    各种各样的资源找齐还是要点时间的: 1、下载gwt-ext2.04解压 2、解压本资源,导入Eclipse 3、将解压gwt-ext2.04得到一jar包设入classpath 4、按载图编辑你的src 文件夹

    gwt入门资料,helloworld级别

    gwt入门.chm gwt入门资料,helloworld级别

Global site tag (gtag.js) - Google Analytics