GWTでJavaScriptを書かないAjax開発--第8回:英単語テストアプリの作成 後編

沖林正紀

2007-12-05 07:00

 これまでGWTを用いてAjaxアプリケーションを構築する方法を紹介してきたが、この連載は今回で最後となる。

 最終回は、前回と同じ英単語テストアプリケーションを用いて、単語帳データを問題オブジェクトとして受信するAjaxアプリケーションを構築してみよう。しかも今回はデータを一括ではなく、1件ずつ受信するようにしたい。

オブジェクトを受信するためのAPI

 前回、JSON形式のデータを受信するには、既存のメソッドにテキスト解析処理を追記するだけでよかったが、オブジェクトを受信するにはAPIを自作しなくてはならない。

 この点はJSON形式の場合よりも面倒ではあるが、Javaメソッドとして処理を記述できるため、テキスト解析では処理が複雑になりすぎることが予想される場合など、処理の内容に応じて使い分けていただきたい。

 自作するのは以下のa.〜d.の4つで、すべてJavaである。これらはbinディレクトリ以下にコンパイル後のclassファイルを配置してからでなければ実行することができない。詳細はGWTのドキュメント「Remote Procedure Calls」で確認していただきたい。

a. Serviceインタフェース

データ送受信のインタフェース。RemoteServiceインタフェースを継承する。

b. ServiceAsyncインタフェース

Webブラウザ(クライアント)からデータ通信を指示するプロキシクラス用のメソッドを記述する。継承なしの単独APIだが、メソッドシグネチャはa.に対応させる。a.と同じパッケージに配置する。

c. Serviceインタフェースを実装したサーブレット

サーバ側でクライアントにデータを提供する処理を行うクラス(ServiceImpl)。RemoteServiceServletクラスを継承する。パッケージ名のclientの部分をserverとしたパッケージを新たに作成し、そこに配置する。

d. クライアントに提供されるデータを収めるクラス

サーバからクライアントに通信を介してデータを提供するためのクラス。IsSerializableインタフェースを実装する。

 なお、a.〜c.の相互の関係は、「RPC Plumbing Diagram」を参照していただきたい。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]