3

Spring フレームワーク コンテナーとサーブレットの間の配管を理解しようとしています。私は始めたばかりで、Spring MVC アプリケーションはサーブレット、ポートレットなどで動作すると信じています。

サーブレットを使用するSpringアプリケーションが起動されると、アプリケーションの世界はSpringコンテナーの作成から始まると思います.接続の受け入れを開始し、Spring アプリケーションの他のコントローラーにリクエストをルーティングするサーブレット、DispatcherServlet。Spring コンテナはサーブレットをアクティブに管理しないため、DispatchServlet は Spring コンテナの一部と見なすことはできません。上記の私の理解は正しいですか?

Spring フレームワークと (たとえば) Tomcat/getty などの埋め込みサーブレット コンテナーとの間の配管に誰かがもっと光を当てることができれば素晴らしいことです。ありがとう !

4

1 に答える 1

0

Spring 自体はコンテナーではなく、フレームワークです。ただし、IoC コンテナーがあり、このコンテナーは Bean とコンテキストに基づいて構築されています。たとえば、Web アプリケーションには、次の 2 つのコンテキストがあります。

  • DispatcherServlet コンテキスト
  • ルート アプリケーション コンテキスト

したがって、あなたの質問に答えるために、ディスパッチャーサーブレットは単なる標準サーブレットですが、コントローラー、ビューテンプレートなどが宣言および配線される独自のスプリング IoC コンテキストがあります。Spring Web アプリケーションの web.xml を見ると、次のようなものが表示されます...

   <servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

これは単なる標準のサーブレット宣言であり、独自の IoC コンテキストを作成するために使用する xml ファイルを提供します。

それは物事を明確にしますか?

于 2014-08-01T10:38:17.327 に答える