GWT 入门

GWT应用程序有两种方式运行:
Hosted Model

在Hosted Model方式下,Java程序并不会被编译成JavaScript,GWT只是创造了一个类似

浏览器的环境,直接运行使用GWT开发的程序。这种模式最具生产力(这种模式下可以Debug所有的Java代码),

所以开发环境通常使用Hosted Model,但是真正的程序执行不使用这种模式。

Web Model

就是将使用GWT编写的Java程序整整编译成JavaScript,在Web容器上运行,使用浏览器

访问的模式,这种方式只有在测试或者运行的时候才使用,每次对Java类的修改必须重新编译

这些Java类,之后重新部署应用。所以生产力比较低。

用命令projectCreator -eclipse hello (GWT帮我们生成一个eclipse工程的基本框架);
用命令applicationCreator -eclipse hello com.wly.client.DemoApplication(gwt帮我们生成一个GWT工程所需要的所有支持文件);
applicationCreator和projectCreator的区别是

applicationCreator创建了src目录和Demo代码,projectCreator不创建Demo代码,但是创建src目录和test目录。

applicationCreator创建了启动脚本GWTLogon-shell.cmd和GWT编译脚本GWTLogon-compile.cmd,而projectCreator不创建。

applicationCreator创建了eclipse launch文件,而projectCreator创建.classpath和.project文件。



通常情况下,我们先使用projectCreator创建按project,projectCreator创建的工程可以轻松的import到eclipse中,

之后我们使用applicationCreator创建需要的Java示例代码,eclipse launch文件,启动脚本和编译脚本

命令列表

projectCreator
生成基本项目框架,可以选择使用eclipse或者使用ant构建文件



applicationCreator
生成代码示例和一个可运行的应用程序



junitCreator
生成一个JUnit测试Case



i18nCreator

生成一个i18n属性文件和对应的Javascript脚本。


benchmarkViewer
显示benchmark结果


功能介绍(远过程调用RPC)

体系结构

GWT应用中页面一旦加载,就再也不会向服务器请求HTML内容,所有的画面迁移,转换都在客户端进行,但是数据还是会向服务器提交,或者从服务器获取。

服务器上负责处理数据的对象在GWT中叫做Service,每个Service有三个类组成:服务方法定义接口(Service),异步调用接口(ServiceAsync)和服务器方法实现类ServiceImpl。

以Login为例子说明:



// 服务方法定义接口

public interface LoginService extends RemoteService {

public boolean login(LoginSO login) throws ApplicationException;

}

// 异步调用接口

public interface LoginServiceAsync {

void login(LoginSO login, AsyncCallback async);

}

// 服务器方法实现类

public class LoginServiceImpl extends RemoteServiceServlet implements LoginService {

public boolean login(LoginSO login) throws ApplicationException {

...

return true;

}

}



其中前两个接口在client包内部,最后一个实现在server包内部。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值