こんにちは、初めてgwt(java based gui)
です。ここで、GWT サーバー呼び出しを実行しようとしています。
私は私の中に保存MyBean
したいDatabase
。
後で私はしなければならないupdate,delete etc..
どのような可能性があり、どうすればこれを達成できますか??
こんにちは、初めてgwt(java based gui)
です。ここで、GWT サーバー呼び出しを実行しようとしています。
私は私の中に保存MyBean
したいDatabase
。
後で私はしなければならないupdate,delete etc..
どのような可能性があり、どうすればこれを達成できますか??
RequestFactory
のようにGWT でデータベースにヒットする可能性がいくつかありますRPC
。
サーバー呼び出しを開始する前に、次のことを確認してください。
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);
}
ここでは、Service
「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) .
}
};
PS .パッケージ構造に注意してください:
BeanProcessRPCInterfaceAsync 、BeanProcessRPCInterfaceは client* パッケージにある必要があります
MyBeanクラスは shared* パッケージにある必要があります
BeanProcessRPCImpl は server* パッケージに含まれている必要があります
幸運を。