私はサーブレット (MainServlet など) を構築しています。スレッドセーフにするために、オブジェクト (MainServletProcesor など) を作成し、オブジェクトへの呼び出しを委譲して HttpRequest を処理しています。MainServletProcessor には、要求を満たすために使用されるインスタンス メンバーがあります。このアプローチがパフォーマンスの観点から問題ないかどうか疑問に思っていました。リクエストごとに Processor インスタンスを作成するこのアプローチは良い考えですか?
2 に答える
1
サーブレットdoXYZ()
メソッドは、アプリケーションのエントリ ポイント (ユーザーの視点) です。これらのメソッドのそれぞれでリクエスト処理のすべてのロジックを記述した場合、コードはすぐに管理不能になります。
あなたがしていることは完全に合理的であり、実際には良い習慣です。オブジェクトの作成にはほとんど時間がかかりません。サーブレット コンテナが実際の HTTP リクエストを受け取ると、実際には大量のオブジェクト ( HttpServletRequest
、HttpServletResponse
、Streams
、Headers
など) が表示されずに作成されます。
Tomcat のリクエスト処理フローについては、こちらを参照してください。リクエストごとに作成されるオブジェクトは表示されませんが、推定 (またはソース コードを参照) できます。
于 2013-08-15T15:40:45.853 に答える