什么是Remote Module


Posted in 面试题 onJune 10, 2016
GWT没有这个概念,这个概念是Cypal插件定义的,它其实就是指GWT访问远程服务的代码,共有三个类:
XXXService:这是远程服务的定义接口,定义暴露的接口方法。该方法的实现在XXXServiceImpl中实现,同时该类需要通过@RemoteServiceRelativePath定义该服务的url路径名,由于XXXServiceImpl其实就是一个Servlet,所以这个路径会在web.xml的url-pattern用到
XXXServiceAsync:该接口是XXXService的副本,它的作用是当Java(最终应该说是javascript)调用 XXXService后,该接口提供一个回调,所以该接口的方法定义比XXXXService的方法定义多了个 AsyncCallbak接口,该接口定义了两个方法:
onFailure(Throwable caught)//失败时调用
onSuccess(T result)//成功时调用
XXXServiceImpl:这是具体类,这就是具体实现远程接口的地方,可以在这里实现业务逻辑,访问ejb,访问web service等等
除了XXXServiceImpl这几个类外,其它两个接口都不需要我们实现,GWT会通过动态代理来实现这两个接口,所以那两个接口只要定义就可以了
那如何调用Remote Module呢?
调用Remote Module需要使用到XXXServiceAsync副本接口,首先需要通过GWT生成两个接口的动态代理:
XXXServiceAsync service = GWT.create(XXXService.class);
然后就可以调用了,在相关的界面事件处理的地方调用XXXServiceAsync的方法,该方法比XXXService多了一个AsyncCall回调参数,这是我们需要实现的类:
service.服务方法(new AsyncCallback(){
//该类可以定义成匿名类
public void onFailure(Throwable caught){
//处理失败
}
public void onSuccess(T result){
//处理成功
}
})

Tags in this post...

面试题 相关文章推荐
介绍一下Java的安全机制
Jun 28 面试题
一份Java笔试题
Feb 21 面试题
Android面试题及答案
Sep 04 面试题
C#中有没有静态构造函数,如果有是做什么用的?
Jun 04 面试题
在c#中using和new这两个关键字有什么意义
May 19 面试题
说一下Linux下有关用户和组管理的命令
Aug 18 面试题
中间件分为哪几类
Mar 14 面试题
瀑布模型都有哪些优缺点
Jun 23 面试题
Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
Jan 27 面试题
Java中各种基本数据类型的默认值都是什么
Dec 22 面试题
J2EE面试题集锦(附答案)
Aug 16 面试题
什么是ESB?请介绍一下ESB?
May 27 面试题
AJAX的全称是什么
Nov 06 #面试题
Prototype是怎么扩展DOM的
Oct 01 #面试题
GWT都有什么特性
Dec 02 #面试题
JavaScript获取当前url根目录(路径)
Feb 19 #面试题
ajax是什么及其工作原理
Feb 08 #面试题
Ajxa常见问题都有哪些
Mar 26 #面试题
如何利用XMLHTTP检测URL及探测服务器信息
Nov 10 #面试题
You might like
smarty模板引擎之配置文件数据和保留数据
2015/03/30 PHP
php利用ob_start()清除输出和选择性输出的方法
2018/01/18 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
2009/05/21 Javascript
读jQuery之五(取DOM元素)
2011/06/20 Javascript
js实现不提交表单获取单选按钮值的方法
2015/08/21 Javascript
在vue中获取dom元素内容的方法
2017/07/10 Javascript
Angular 作用域scope的具体使用
2017/12/11 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
2019/05/07 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
python开发中module模块用法实例分析
2015/11/12 Python
浅析python中SQLAlchemy排序的一个坑
2017/02/24 Python
Python实现脚本锁功能(同时只能执行一个脚本)
2017/05/10 Python
浅谈机器学习需要的了解的十大算法
2017/12/15 Python
python批量修改图片大小的方法
2018/07/24 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
风险评估实施方案
2014/03/09 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
教学改革问题查摆整改措施
2014/09/27 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
毕业生个人自荐书
2015/03/05 职场文书
2015年机关党建工作总结
2015/05/22 职场文书
幼儿园开学温馨提示
2015/07/15 职场文书
护士业务学习心得体会
2016/01/25 职场文书
go语言中GOPATH GOROOT的作用和设置方式
2021/05/05 Golang
基于Redis的List实现特价商品列表功能
2021/08/30 Redis
redis复制有可能碰到的问题汇总
2022/04/03 Redis
Mysql中的触发器定义及语法介绍
2022/06/25 MySQL