Spring MVC概览


这是一张从Spring Reference上搞过来的图,展示了Spring MVC框架对于请求的处理过程,其中我们可以看到在Spring MVC中,使用了在web请求处理中非常流行的前端控制器模式,这个前端控制器负责将请求的处理代理给相应的Controller,并且负责将页面的渲染代理给相应的视图组件,可以说前端控制器在这里起到了一个请求的控制调度中心的作用。

Spring MVC中的主要组件

在Spring MVC中,有很多的组件分别负责处理不同的事情,我们可以先了解下这些组件到底是处理什么事情的,然后再去了解几个主要的组件是如何工作的:

  • Controller:就是MVC中的C部分
  • Handler Mapping:处理符合映射规则的pre-proccessors,post-processors和controllers
  • View Resolver:解析视图名称
  • Locale Resolver:查看本地信息,用于i18n,几个默认的实现包括AcceptHeaderLocaleResolver,CookieLocaleResolver,SessionLocaleResolver,用户可以通过配置LocaleChangeInterceptor来对Local信息做出修改。
  • Theme Resolver:解析应用中所使用的主题
  • Multipart File Resolver:处理上传的文件
  • Handler Exception Resolvers:处理异常