1

いくつかのパラメーターを取得するサーブレットがあり、それらから別のオブジェクト(responseObject)を作成します。この応答オブジェクトは他の多くのクラスでアクセスされるため、それらのクラスで自動配線する必要があります。

他のクラスは、responseObjectにコンテンツを追加できます(基本的にオブジェクトを変更します)。

したがって、必要な機能を要約すると、次のようになります。

  • 新しいサーブレットリクエストごとの新しいresponseObject
  • このresponseObjectは最初にサーブレット内で構築され、他のクラスでアクセスできるようにする必要があります。
  • このオブジェクトにアクセスする他のクラスは、このオブジェクトのコンテンツを追加/変更できる必要があります。これにより、一貫性が維持されます。

春にそんなことができるのかしら。

プロトタイプとリクエストスコープを試しましたが、エラーが発生しました。主な問題は、オブジェクトを他のクラスで変更する必要があり、リクエストがまだ処理されている間にそれらの変更を行う必要があることです。

4

1 に答える 1

1

これは、自動配線が使用される目的ではありません。あなたがしたいのは、単に応答オブジェクトをそれを必要とするクラス/メソッドに渡すことです。

アドバイス:リクエストオブジェクトとレスポンスオブジェクトがコードベース内を行き過ぎないようにすることをお勧めします。それらの使用を、実際に必要な場所(つまりサーブレット)にできるだけ制限する必要があります。サーブレットは、応答を生成するためにいくつかの場所からのデータを必要とする場合があります。それはいいです。データを取得し、応答を生成します。データがある場所に応答を渡すよりも、応答がある場所にデータを渡す方が適切です。リクエストオブジェクトについても同じですが、その逆です。基本的な原則は、通常、入力を出力から切り離すのが最善であるということです。

于 2013-03-06T19:13:32.360 に答える