我知道第一个是类,第二个是接口但重点是,为什么客户端服务扩展了RemoteService,而ServiceImpl类扩展了RemoteServiceServlet
那么幕后真的是什么?!
你想比较苹果和橘子.请阅读文档并制作任何简单的演示项目以清楚地理解这些概念.
RemoteService是客户端的RPC接口应该扩展的接口.而RemoteServiceServlet是在服务器上的RPC服务实现servlet的基类.它反序列化来自客户端的请求并序列化传出的响应.
要使用RPC,您需要在client包自己的接口中创建和定义应扩展RemoteService接口并指定服务器应实现的方法.
package com.yourproject.client;
import com.google.gwt.user.client.rpc.RemoteService;
public interface CustomInfoService extends RemoteService {
Info getInfo(String infoId);
}
Run Code Online (Sandbox Code Playgroud)
然后,您需要由服务器端提供此接口的实现.这应该是server包中的servlet,它扩展了RemoteServiceServlet并实现了CustomInfoService.
package com.yourproject.server;
import com.yourproject.client.CustomInfoService;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
public class InfoServiceImpl extends RemoteServiceServlet implements CustomInfoService {
public Info getInfo(String infoId) {
//implementation (for example getting info from database)
}
}
Run Code Online (Sandbox Code Playgroud)
确保正常工作,您还需要设置servlet映射,创建异步接口,进行调用并在生成的回调中处理结果,为通过RPC的实例类实现Serializable或IsSerializable接口.
| 归档时间: |
|
| 查看次数: |
2239 次 |
| 最近记录: |