0

初期化時にRunnableオブジェクトを作成する1つのサーブレットであるwebapp(Eclipseで作成され、Tomcatで実行される)を作成しました。Runnable オブジェクトは、さまざまな処理を実行し、一部のデータをメモリに格納します。サーブレットは、オブジェクト内の最新のデータをユーザーに提示するためだけに存在します (DB はなく、現在のデータのみを気にします)。

問題は、別のサーブレットが同じデータにアクセスし、それを別の方法でユーザーに提示したいということです。つまり、Runnable オブジェクトを作成するサーブレットのモデルはもはや実現可能ではありません。

それで、私の質問は次のとおりです: 1 つのメイン クラスがすべての作業を行い、データを取得するためにそれと通信する多数のサーブレットを持つアプリケーションを作成するにはどうすればよいでしょうか?

特に気に入らない回避策として、doGet() メソッドでリクエスト文字列を解析し、その内容に基づいて別の応答を送信するようにしましたが、別のサーブレットでそれを行いたいと思います。

4

1 に答える 1

0

ServletContextListener.contextInitialized()メソッド中にRunnableオブジェクトを作成し、ServletContextを使用して属性としてに設定しますServletContext.setAttribute()

また、両方のサーブレットがからRunabbleオブジェクトを取得しServletContext.getAttribute()、データを表示できます。

于 2012-05-30T11:10:52.860 に答える