gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 18:51:36 26 4
gpt4 key购买 nike

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

我想保存我的 MyBean进入我的Database .

稍后我必须update,delete etc..

有哪些可能性以及如何实现这一目标?

最佳答案

有几种可能性可以使用 GWT 访问数据库,例如 RequestFactoryRPC

在开始使用服务器调用之前,请先完成,

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

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

浏览完链接后,这里是 Example of How to make an RPC .

来到 MyBean CRUD 操作,简而言之,简单的 RPC 结构如下:

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

我正在尝试向您解释元素本身。

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

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

异步接口(interface)(客户端关键部分):

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 中映射上述类;

     <servlet>
<servlet-name>beanrpc</servlet-name>
<servlet-class>com.server.BeanProcessRPCImpl</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>beanrpc</servlet-name>
<url-pattern>/beanrpc</url-pattern>
</servlet-mapping>

最后在您的 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) .
}
};

P.S.注意包结构:

BeanProcessRPCInterfaceAsync、BeanProcessRPCInterface 应该位于 client* 包中

MyBean 类应该位于共享*包中

BeanProcessRPCImpl 应该位于 server* 包中

祝你好运。

关于java - 如何进行 GWT 服务器调用(GWT RPC?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15717089/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com