0

バックグラウンド

私はSpring MVCを初めて使用しますが、HttpServletの子クラスではなく、@Controllerで注釈が付けられたクラスを使用する利点を明確に理解できます。

質問

Spring では複数のサーブレット コンテキスト ファイルを使用できるため、注釈付きのコントローラー クラスと標準の HttpServlets の両方を混在させる人もいると思います。私の質問は、なぜあなたはしたいのですか? その場合、そのサーブレットを適切なビューに接続するという面倒を経験しなければならず、そもそも Spring MVC を選択した理由を失いませんか?

4

2 に答える 2

2

Spring の主なアイデアの 1 つは、邪魔にならないようにすることです。アプリケーションで Spring を使用することにした場合、すべてのコードを書き直す必要はありません。

その観点から、Spring アプリケーションServlet以外DispatcherServletでの の使用は簡単に正当化できます。Servletレガシー コードを含む 、または として実装されたサードパーティ ライブラリServlet(Web サービス、RPC、他の Web フレームワークなど) がある可能性があります。これらのレガシー コンポーネントを一度に書き換える必要はありませんが、Spring ではアプリケーションのコア サービスをルート アプリケーション コンテキストに移動することでこれらのコンポーネントの利点を活用できるため、Spring MVC コントローラーからもそれらを使用できます。他Servletのsからのように。

于 2012-09-12T14:11:56.937 に答える
1

Spring アノテーション付きコントローラーは、Spring DispatcherServlet と組み合わせて使用​​されます。これは、ドキュメントで説明されているすべての機能を提供する HttpServlet の Spring 実装です。

DispatcherServlet は web.xml で構成され、Spring 構成の場所が提供されます。これは、1 つ以上の xml ファイル、または @Configuration としてアノテーションが付けられた 1 つ以上のクラス (Spring 3.1 以降) にすることができます。

この構成には、要素 (または @EnableWebMvc) が含まれている必要があります。これにより、Spring がトリガーされ、アプリケーションが開始された状態で @Controller クラスのクラスパスがスキャンされます。

于 2012-09-12T13:52:04.867 に答える