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

面试题 相关文章推荐
什么是类的返射机制
Feb 06 面试题
普天C++笔试题
Mar 20 面试题
北承题目(C++)
May 16 面试题
C面试题
Oct 08 面试题
程序员机试试题汇总
Mar 07 面试题
.net软件工程师应聘上机试题
Mar 10 面试题
一篇.NET面试题
Sep 29 面试题
说出你对remoting 和webservice的理解和应用
Jun 08 面试题
linux面试题参考答案(7)
Jul 24 面试题
AJAX的优缺点都有什么
Aug 18 面试题
是否可以从一个static方法内部发出对非static方法的调用?
Aug 18 面试题
Java基础面试题
Nov 02 面试题
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 伪静态技术原理以及突破原理实现介绍
2013/07/12 PHP
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
javascript自定义startWith()和endWith()的两种方法
2013/11/11 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
JavaScript实现的简单幂函数实例
2015/04/17 Javascript
js弹出窗口返回值的简单实例
2016/05/28 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
实例详解ztree在vue项目中使用并且带有搜索功能
2018/08/24 Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
2019/05/09 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
webpack+vue.js构建前端工程化的详细教程
2020/05/10 Javascript
python+opencv轮廓检测代码解析
2018/01/05 Python
python中set()函数简介及实例解析
2018/01/09 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
python 2.7 检测一个网页是否能正常访问的方法
2018/12/26 Python
python 在指定范围内随机生成不重复的n个数实例
2019/01/28 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
2019/02/25 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
2016/07/08 HTML / CSS
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
加拿大租车网站:Enterprise Rent-A-Car
2018/07/26 全球购物
澳大利亚床上用品、浴巾和家居用品购物网站:Bambury
2020/04/16 全球购物
鲜果饮品店创业计划书
2014/01/21 职场文书
2014元旦晚会策划方案
2014/02/19 职场文书
家长会演讲稿
2014/04/26 职场文书
自强之星事迹材料
2014/05/12 职场文书
政府法律服务方案
2014/06/14 职场文书
关于运动会的广播稿
2014/09/22 职场文书
汽车质检员岗位职责
2015/04/08 职场文书
敬老院义诊活动总结
2015/05/07 职场文书