什么是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面试题及答案
Sep 08 面试题
如何获取某个日期是当月的最后一天
Dec 05 面试题
介绍Java的内部类
Oct 27 面试题
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
Aug 15 面试题
怎样从/向数据文件读/写结构
Nov 23 面试题
杭州-飞时达软件有限公司.net笔面试
Apr 28 面试题
一套带网友答案的.NET笔试题
Dec 06 面试题
STP的判定过程
Oct 01 面试题
Prototype如何更新局部页面
Mar 03 面试题
如何用Python来进行查询和替换一个文本字符串
Jan 02 面试题
内部类的定义、种类以及优点
Oct 16 面试题
给定一个时间点,希望得到其他时间点
Nov 07 面试题
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模板引擎Smarty中的保留变量用法分析
2016/04/11 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
基于jQuery判断两个元素是否有重叠部分的代码
2012/07/25 Javascript
JavaScript 事件对象介绍
2015/04/13 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
详解关于微信setData回调函数中的坑
2019/02/18 Javascript
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
Js代码中的span拼接问题解决
2019/11/22 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
[01:11:48]Fnatic vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python创建只读属性对象的方法(ReadOnlyObject)
2013/02/10 Python
python使用分治法实现求解最大值的方法
2015/05/12 Python
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
django 快速启动数据库客户端程序的方法示例
2019/08/16 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
python 识别登录验证码图片功能的实现代码(完整代码)
2020/07/03 Python
python中的错误如何查看
2020/07/08 Python
意大利在线购买隐形眼镜网站:VisionDirect.it
2019/03/18 全球购物
违反校纪校规检讨书
2014/02/15 职场文书
2014全国两会心得体会
2014/03/17 职场文书
学校社会实践活动总结
2014/07/03 职场文书
小学生运动会报道稿
2014/09/12 职场文书
2014年学校总务处工作总结
2014/12/08 职场文书
银行自荐信怎么写
2015/03/05 职场文书
合同范本之电脑出租
2019/08/13 职场文书
python实现网络五子棋
2021/04/11 Python
基于Go语言构建RESTful API服务
2021/07/25 Golang
nginx配置之并发频次限制
2022/04/18 Servers
详解Nginx的超时keeplive_timeout配置步骤
2022/05/25 Servers
Fluentd搭建日志收集服务
2022/09/23 Servers