什么是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的面试题
May 19 面试题
PHP中如何创建和修改数组
May 02 面试题
写出程序把一个链表中的接点顺序倒排
Apr 28 面试题
什么是事务?为什么需要事务?
Jan 09 面试题
SQL里面如何插入自动增长序列号字段
Mar 29 面试题
介绍一下代理模式(Proxy)
Oct 17 面试题
广州盈通面试题
Dec 05 面试题
恶意软件的定义
Nov 12 面试题
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
Nov 10 面试题
成都思必达公司C#程序员招聘面试题
Jun 26 面试题
27个经典Linux面试题及答案,你知道几个?
Mar 11 面试题
编程用JAVA解析XML的方式
Jul 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
Yii基于CActiveForm的Ajax数据验证用法示例
2016/07/14 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
JavaScript中的Screen屏幕对象
2008/01/16 Javascript
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
2009/12/02 Javascript
ASP.NET jQuery 实例8 (动态添加内容到DropDownList)
2012/02/03 Javascript
原生js实现给指定元素的后面追加内容
2013/04/10 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
javascript操作excel生成报表全攻略
2014/05/04 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
angular实现页面打印局部功能的思考与方法
2018/04/13 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
微信小程序实现翻牌抽奖动画
2020/09/21 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
python实现可将字符转换成大写的tcp服务器实例
2015/04/29 Python
举例讲解Python中的算数运算符的用法
2015/05/13 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
Python Web版语音合成实例详解
2019/07/16 Python
Python实现ATM系统
2020/02/17 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
Python应用实现双指数函数及拟合代码实例
2020/06/19 Python
世界领先的在线地板和建筑材料批发商:BuildDirect
2017/02/26 全球购物
香港唯港荟酒店预订:Hotel ICON
2018/03/27 全球购物
澳大利亚制造的蜡烛和扩散器:Glasshouse Fragrances
2018/05/20 全球购物
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
高中军训感言200字
2014/02/23 职场文书
2014年乡镇植树节活动方案
2014/02/28 职场文书
幼儿园教师获奖感言
2014/03/11 职场文书
经济管理专业求职信
2014/06/09 职场文书
篮球比赛拉拉队口号
2014/06/10 职场文书
《确定位置》教学反思
2016/02/18 职场文书
SpringBoot工程下使用OpenFeign的坑及解决
2021/07/02 Java/Android
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python