これが必要になる可能性がある状況は何ですか?
または
複数のディスパッチャサーブレットの利点または複数のディスパッチャサーブレットが
必要な理由
簡単な答えは、DispatcherServletの機能をいくつかの形式で持つことです
ディスパッチャサーブレット機能
によって提供される機能のいくつかを説明しようとします
DispatcherServlet
複数のディスパッチャーサーブレットの宣言
DS1、DS2が異なるURLパターン(**.simple, **.beanName
)で構成され、以下に示すように提供される異なるディスパッチャーサーブレット構成を使用する2つのディスパッチャーサーブレット(DS)があるとします。
DispatcherServlet - simpleUrlHandlerDispatcherServlet
contextConfigLocation - /WEB-INF/simpleUrlHandlerMapping.xml
<url-pattern>*.simple</url-pattern>
DispatcherServlet - beanNameUrlHandlerDispatcherServlet
contextConfigLocation - /WEB-INF/beanNameUrlHandlerMapping.xml
<url-pattern>*.beanName</url-pattern>
利点1: URLのセットごとに異なるHandlerMappingを使用できます
DS1Bean名のURLハンドラーのマッピング構成
<bean name="/hello.beanName" class="com.pvn.mvc.HelloController" />
<bean name="/hi.beanName" class="com.pvn.mvc.HiController" />
DS2の単純なURLハンドラーマッピング構成
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/hello.simple">simpleHello</prop>
<prop key="/hi.simple">simpleHi</prop>
</props>
</property>
</bean>
利点2: URLのセットごとに異なるビューリゾルバーを使用できます。
のみを処理するDS1のInternalResourceViewResolverprefix + returned String + suffix
。
TilesViewResolver for DS2
の実装は、以下に示すレイアウト/スケルトンベースのプラグインの高レベル機能であるapacheタイルによって提供されます。
または、URLの匿名ユーザー
のセットごとに異なるレイアウトでTilesViewResolverを使用する場合(
ログインしているユーザーごとに異なるレイアウト)、異なるレイアウト
利点3: URLのセットごとに異なるテーマリゾルバーを使用できます。
これらのリゾルバーは、Cookie /セッションを継続的に監視してテーマを解決し、スタイルシート/テーマの資格を提供します(下の画像を参照)。以下に、CookieThemeResolverます。
注:これはテーマの構成ではなく、テーマリゾルバーの構成に関するものです。

利点4: URLのセットごとに異なるロケールリゾルバーを使用できます。
これらのリゾルバーは、cookie / session / accept-headerを継続的に監視してロケールを解決し、修飾されたアプリケーションメッセージをロードします(下の画像を参照)。以下に、CookieLocaleResolverます。
注:これはロケール構成に関するものではなく、ロケールリゾルバー構成に関するものです。
