您好我是gwt(java based gui)
的新手。
我在这里尝试拨打GWT服务器。
我想将MyBean
保存到我的Database
。
稍后我必须update,delete etc..
有什么可能性,我怎样才能做到这一点?
答案 0 :(得分:4)
使用GWT(例如RequestFactory
,RPC
)可以通过数据库访问数据库。
在开始使用服务器电话之前,请仔细阅读,
GWT RPC(使服务器异步调用)
RequestFactory(用于创建面向数据的GWT-RPC的替代方案 服务。强>)
通过这里的链接后是Example of How to make an 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);
}
在这里,您将使用 Service
(等于servlet)来实现“BeanProcessRPCInterface”
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 * package中
MyBean 类应该位于shared * package
中BeanProcessRPCImpl 应该在server * package
中祝你好运。