什么是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工程师面试经历
Aug 19 面试题
大整数数相乘的问题
Jul 22 面试题
C面试题
Oct 08 面试题
一个C/C++编程面试题
Nov 10 面试题
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
Feb 22 面试题
编写函数,将一个3*3矩阵转置
Oct 09 面试题
存储过程和函数的区别
May 28 面试题
如何估计一张表的大小(假设该表中有1万条数据)
Mar 27 面试题
解释DataSet(ds) 和 ds as DataSet 的含义
Jul 27 面试题
数字天堂软件测试面试题
Dec 23 面试题
Shell脚本如何向终端输出信息
Apr 25 面试题
四种会话跟踪技术
May 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
基于mysql的论坛(4)
2006/10/09 PHP
ThinkPHP2.x防范XSS跨站攻击的方法
2015/09/25 PHP
CI框架的安全性分析
2016/05/18 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
来自chinaz的ajax获取评论代码
2008/05/03 Javascript
javascript学习笔记(三)显示当时时间的代码
2011/04/08 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
谈谈我对JavaScript DOM事件的理解
2015/12/18 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
微信小程序如何实现在线客服功能
2019/10/16 Javascript
[54:25]Ti4 循环赛第三日LGD vs MOUZ
2014/07/12 DOTA
详解Python开发中如何使用Hook技巧
2017/11/01 Python
python实现百度语音识别api
2018/04/10 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
CSS3对图片照片进行边缘模糊处理的实现
2018/08/08 HTML / CSS
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
Ticketmaster意大利:音乐会、节日、艺术和剧院的官方门票
2019/12/23 全球购物
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
2014/09/15 面试题
政法大学毕业生自荐信范文
2014/01/01 职场文书
学生思想表现的评语
2014/01/30 职场文书
优秀士兵先进事迹
2014/02/06 职场文书
网络书店创业计划书
2014/02/07 职场文书
继续教育个人总结
2015/03/03 职场文书
2017大学生寒假社会实践心得体会
2016/01/14 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis
向Spring IOC 容器动态注册bean实现方式
2022/07/15 Java/Android