サーブレットにCometを実装する
移動したら、サーブレットの作成に移ります。Cometはイベント受信後、エディタでCometServlet.javaを作成します。サーブレットには、以下の内容を記述していきます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
以上でサーブレットの記述は完了しました。
Cometの実現には、Tomcat 6から提供されたorg.apache.catalina.CometEventクラスとorg.apache.catalina.CometProcessorインターフェイスが使われています。
Cometでチャットをしてみよう!
それでは、作成したサーブレットをコンパイルしましょう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
無事にエラーなく終了すれば、作成完了です。最後に、Tomcatの再起動を実行します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
再起動が完了したら、実際に作成したチャットを開いてみましょう。「http://[サーバのIPアドレス]:8080/jsp/CometChat.jsp」を開いて、発言してみましょう。
発言をすると、同時に接続しているページ全部へメッセージが送信され、描画されるのが分かります。複数のウィンドウで同時に接続して行うと、以下のようになります。
次回はTomcatが持つセキュリティリスクについて
TomcatもCometをサポートし、閲覧者同士がリアルタイムに情報交換できるWebアプリケーションの提供など可能になったことは大きな進展ですね。
Cometの活用事例については、@ITの記事「リバースAjax機能はAjax+Javaをもっとやさしくする?の「サーバプッシュ型Ajaxアプリケーションの応用例」や@ITの記事「サーバが通信を開始できるComet活用Webチャット」の「ハイライト2・快適かつ強力なチャットサービスLingr」に詳しいので、ご参照ください。
今回まではTomcatの設定や運用、新機能について触れてきましたが、次回からはいよいよTomcatが持つセキュリティのリスクについて触れていきます。
著者プロフィール
x-lab チーム
株式会社アメニクスのR&D部門として、企業の価値向上を目的に結成された研究開発チーム(x-lab=amenix laboratory)。
アメニクスの社員をはじめ、システム開発技術者のみに限らず、MBA教授や外資系出身エンジニアなど幅広いメンバーが所属している。IT技術からマーケティング、金融テクノロジーなどさまざまな分野で活動中。
主な著書
Copyright © ITmedia, Inc. All Rights Reserved.