DipatcherServletの依存関係
SpringのMVCの肝はDipatcherServletです。以下。DipatcherServletと使用されるBeanとの関係を調べてみました。
DipatcherServletは次の7つのBeanに依存している。これらはすべてapplication contextの設定ファイルから指定できるBeanでいくつかの実装を持つ。ちなみに(s)付のものはListで管理されているので複数指定可となっている。DipatcherServletはLoadされるときに、WebApplicationContextから下記Beanの実装を取得してメンバ変数に格納し、clientからアクセスがある度にdoService()メソッドの中でそのメンバ変数を使いながら処理を行う。
- MultipartResolver
- Defaultはなし。Jakarta Commons FileUploadを使う実装などがある。
- LocaleResolver
- DefaultはAcceptHeaderLocaleResolver。HTTP headerのLoacalを使う。
- ThemeResolver
- DefaultはFixedThemeResolver。使い方はいまいちわからないが、Viewに表示するMessageに変更を加えられるというようなことらしい。
- HandlerMapping(s)
- DefaultはBeanNameUrlHandlerMapping。HandlerExecutionChainや HandlerInterceptorと関係する。クライアントからのRequestを実行する際の事前処理や事後処理に関係している?
- HandlerAdapter(s)
- DefaultはSimpleControllerHandlerAdapterと ThrowawayControllerHandlerAdapterの二つ。ThrowawayControllerHandlerAdapterについては今のところわからない。
- HandlerExceptionResolver(s)
- Defaultはなし。Exceptionを特定Pageにマッピングする。web.xmlでのmappingよりも柔軟性があるらしい。
- ViewResolver
- DefaultはInternalResourceViewResolver。Viewの論理名からファイルのパスを解決する。
●メモ