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

面试题 相关文章推荐
PHP如何设置和取得Cookie值
Jun 30 面试题
局部内部类是否可以访问非final变量?
Apr 20 面试题
String是最基本的数据类型吗?
Jun 13 面试题
华为的Java面试题
Mar 07 面试题
RealTek面试题
Jun 28 面试题
网络安全类面试题
Aug 01 面试题
数据库测试通常都包括哪些方面
Nov 30 面试题
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
Jul 02 面试题
请问软件开发中的设计模式你会使用哪些
May 13 面试题
请说出这段代码执行后a和b的值分别是多少
Mar 28 面试题
Java语言程序设计测试题改错题部分
Jul 22 面试题
Unix如何添加新的用户
Aug 20 面试题
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
php htmlspecialchars加强版
2010/02/16 PHP
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
php实现数组筛选奇数和偶数示例
2014/04/11 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
基于Jquery的仿照flash放大图片效果代码
2011/03/16 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
NodeJS制作爬虫全过程
2014/12/22 NodeJs
jquery实现点击label的同时触发文本框点击事件的方法
2015/06/05 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
JS实现移动端实时监听输入框变化的实例代码
2017/04/12 Javascript
jQuery自定义元素右键点击事件(实现案例)
2017/04/28 jQuery
小程序实现展开/收起的效果示例
2018/09/22 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
JavaScript Date对象功能与用法学习记录
2020/04/28 Javascript
koa中间件核心(koa-compose)源码解读分析
2020/06/15 Javascript
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
2017/08/07 Python
使用python来调用CAN通讯的DLL实现方法
2019/07/03 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
python 消费 kafka 数据教程
2019/12/21 Python
python的slice notation的特殊用法详解
2019/12/27 Python
python asyncio 协程库的使用
2021/01/21 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
CSS3中新增的对文本和字体的设置
2020/02/03 HTML / CSS
原装进口全世界:天猫国际
2016/08/03 全球购物
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
Foreo国际站:Foreo International
2018/10/29 全球购物
北京鼎普科技股份有限公司软件测试面试题
2012/04/07 面试题
高校辅导员推荐信范文
2013/12/25 职场文书
公交公司毕业生求职信
2014/02/15 职场文书
酒店节能降耗方案
2014/05/08 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
全家福照片寄语怎么写?
2019/04/02 职场文书
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python