什么是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...

面试题 相关文章推荐
Yahoo-PHP面试题4
May 05 面试题
构造方法和其他方法的区别?怎么调用父类的构造方法
Sep 22 面试题
金智子午JAVA面试题
Sep 04 面试题
阿尔卡特(中国)的面试题目
Aug 20 面试题
Kingsoft金山公司C/C++笔试题
May 10 面试题
一些高难度的SQL面试题
Nov 29 面试题
了解AppleShare protocol(AppleShare协议)吗
Aug 28 面试题
Shell编程面试题
May 30 面试题
介绍一下linux文件系统分配策略
Feb 25 面试题
北京鼎普科技股份有限公司软件测试面试题
Apr 07 面试题
百度JavaScript笔试题
Jan 15 面试题
什么是Web Service?
Jul 25 面试题
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
JSON用法之将PHP数组转JS数组,JS如何接收PHP数组
2015/10/08 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
jquery图片不完全按比例自动缩小的简单代码
2013/07/29 Javascript
extjs两个tbar问题探讨
2013/08/08 Javascript
javascript类型转换示例
2014/04/29 Javascript
jQuery实现的在线答题功能
2015/04/12 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
详解vuejs几种不同组件(页面)间传值的方式
2017/06/01 Javascript
Vue的百度地图插件尝试使用
2017/09/06 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
利用vscode调试编译后的js代码详解
2018/05/14 Javascript
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
angularJS1 url中携带参数的获取方法
2018/10/09 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
微信小程序mpvue点击按钮获取button值的方法
2019/05/29 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
2019/09/02 Javascript
JQuery绑定事件四种实现方法解析
2020/12/02 jQuery
Python中使用第三方库xlutils来追加写入Excel文件示例
2015/04/05 Python
简单介绍Python中的round()方法
2015/05/15 Python
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
tensorflow estimator 使用hook实现finetune方式
2020/01/21 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
python 串行执行和并行执行实例
2020/04/30 Python
Lulu & Georgia官方网站:购买地毯、家具、抱枕、壁纸、床上用品等
2018/03/19 全球购物
女性时尚在线:IVRose
2019/02/23 全球购物
超市5.1促销活动
2014/01/15 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
电子信息工程专业自荐书
2014/06/24 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
JavaScript 与 TypeScript之间的联系
2021/11/27 Javascript