我是全新的 gwt-rpc。我读过一些文档,但有一点不清楚。我要描述它。
我的客户端构建将实现 gwt-rpc 来调用服务器端 servlet 来访问数据。那么,我是否也需要实现服务器端 RPC?
意思是,客户端 gwt-rpc 将与服务器端 RPC 通信,而服务器端 rpc 将与 servlet 通信吗?还是直接客户端 gwt-rpc 将与 servlet 通信?
谢谢
是的,您也需要实现服务器端 RPC。
您必须在服务器端构建一个 Servlet,它必须扩展类 com.google.gwt.user.server.rpc.RemoteServiceServlet 并实现您的 RPC 接口。您必须注册您在 web.xml 中实现的新 Servlet。例如。
您的新 Servlet:
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
public class MyServerSideRPC extends RemoteServiceServlet implements MyRpcInterface{
@Override
public String myRpcMethod(....) {
//Do RPC method work
}
}
由新 Servlet 实现的 RPC 接口
@RemoteServiceRelativePath("service/myrpcpath")
public interface MyRpcInterface extends RemoteService{
public String myRpcMethod(....);
}
在服务器端的 web.xml 中,注册您创建的 servlet,
<servlet>
<servlet-name>MyServerSideRPC</servlet-name>
<servlet-class>.....MyServerSideRPC</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServerSideRPC</servlet-name>
<url-pattern>/gwtrpc/service/myrpcpath</url-pattern>
</servlet-mapping>