RemoteServiceServlet和RemoteService有什么区别?

You*_*ans 2 gwt java-ee

我知道第一个是类,第二个是接口但重点是,为什么客户端服务扩展了RemoteService,而ServiceImpl类扩展了RemoteServiceServlet

那么幕后真的是什么?!

kap*_*and 5

你想比较苹果和橘子.请阅读文档并制作任何简单的演示项目以清楚地理解这些概念.

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的实例类实现SerializableIsSerializable接口.