什么是Remote Module

2023-06-29   


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)
   //处理成功
  
   )


相关内容:

  1. 什么是GWT的Module
  2. 提高EJB性能都有哪些技巧
  3. 商丘学院2021届校招指南
  4. 郑州工商学院2021届校招指南
  5. 河南农业大学2021届校招指南
  6. 郑州工程技术学院2021届校招指南