GWTのシリアライザが使えるかどうか知りたいです。GWT の rpc メカニズムを使用する場合、GWT はクライアントでオブジェクトをシリアライズし、サーバーでオブジェクトをデシリアライズします。このメカニズムにはRemoteServiceServlet
、GWT の特別なサーブレット ( ) を使用する必要があります。しかし、私は通常の HttpServlets を使用したいので、自分でオブジェクトをシリアライズおよびデシリアライズする必要があります。
質問する
393 次
2 に答える
3
確認する必要があるすべてのコードは、RemoteServiceServlet.javaにあります。processCallメソッドに注目してください。
RPC.decodeRequest (payload, ...)は、呼び出されるメソッドと逆シリアル化されたパラメーターを含む RPCRequest オブジェクトを提供します。
応答をエンコードするには、RPC.invokeAndEncodeResponse()およびRPC.encodeResponseForSuccess()メソッドにフォーカスします。
[編集]
クライアント側では、RPC ジェネレーターによって生成されたプロキシ クラス、具体的にはファイルを確認する価値がありYourService_Proxy.java
ます。生成されたファイルは、プロジェクトをコンパイルした後、プロジェクトのフォルダー構造のどこかに残されます (このフォルダーを で示すことができます-gen
)。
興味深いコードはRemoteServiceProxyにあります。 createStreamWritterメソッドを見ると、オブジェクトをシリアル化する方法がわかります。createStreamReaderでは、サーバーからのメッセージを逆シリアル化する方法を確認できます。
于 2013-07-05T11:54:53.743 に答える