如何进行GWT服务器调用(GWT RPC?)

嗨,我是新来的gwt(java based gui) 。 在这里,我试图进行GWT服务器调用。

我想将MyBean保存到我的Database

后来我要update,delete etc..

有什么可能性,我怎样才能做到这一点?

使用GWT(如RequestFactoryRPC使用GWT来访问数据库。

在开始服务器呼叫之前,请通过,

  • GWT RPC ( 使服务器异步调用

  • RequestFactory ( 用于创建面向数据的服务的GWT-RPC的替代方案。

经过链接后,这里是一个如何制作RPC的示例 。

来到你的MyBean CRUD操作, 简而言之就是简单的RPC结构 ,如下所示:

 GWT Code <===> InterfaceAsync <===> Interface (Synchronous)<===> Server Code 

我试图用你自己的元素来解释。

同步接口(整个RPC的核心):

 import com.google.gwt.user.client.rpc.RemoteService; public interface BeanProcessRPCInterface extends RemoteService { public Mybean processMybeanRPC(Mybean bean); } 

ASynchronous接口(客户端的关键部分):

 import com.google.gwt.user.client.rpc.AsyncCallback; public interface BeanProcessRPCInterfaceAsync { public void processMybeanRPC (Mybean bean, AsyncCallback callback); } 

在这里,您将使用实现“BeanProcessRPCInterface”Service (等于servlet)

 public class BeanProcessRPCImpl extends RemoteServiceServlet implements BeanProcessRPCInterface { private static final long serialVersionUID = 1L; public Mybean processMybeanRPC(Mybean bean) { //Process your widget here (CRUD operations) } **you can override doget,doPost,doDelete....etc along with your methods } 

在web.xml中映射上面的类;

   beanrpc com.server.BeanProcessRPCImpl   beanrpc /beanrpc  

最后在您的GWT代码中。使用如下服务

在代码中使用:

//注册服务。

  private final BeanProcessRPCInterfaceAsync beanService = GWT.create(BeanProcessRPCInterface.class); ServiceDefTarget endpoint = (ServiceDefTarget) service; endpoint.setServiceEntryPoint('beanrpc'); 

请求服务器回调

 beanService.processMybeanRPC(mybean, callback); AsyncCallback callback = new AsyncCallback() { public void onFailure(Throwable caught) { //Do on fail } public void onSuccess(Object result) { //Process successfully done with result (result is which you // returned in impl class) . } }; 

PS。包装结构的软件:

BeanProcessRPCInterfaceAsync,BeanProcessRPCInterface应该在client *包中

MyBean类应该在shared *包中

BeanProcessRPCImpl应该在server *包中

祝你好运。