浅谈SpringMVC之DispatcherServlet

    Spring的MVC框架是围绕一个DispatcherServlet其实就是个Servlet(它继承自HttpServlet基类)来设计的,
    它支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染、文件上传等
    控制器通常负责准备一个Map模型、填充数据、返回一个合适的视图名等,同时它也能够直接将数据
    写到响应流中
    Spring的web模块支持许多web相关的特性:
    一、清晰的职责分离 二、强大、直观的框架和应用bean的配置 三、强大的适配能力、非侵入性和灵活性
    四、可复用的性 五、可定制的数据绑定和验证 六、可定制的处理器映射和视图解析 七、灵活的模型传递
    八、可定制的本地化信息、时区和主题解析 九、一个简单但功能强大的JSP标签库 十、新增生命周期

    仅绑定到当前HTTP请求或HTTP会话的Bean类型
    
    DispatcherServlet初始化bean
    bean的类型                                做用
    
    HandleMapping            处理器映射。它会根据某些规则将进入容器的请求映射到具体的处理器
                                           以及一系列处理器拦截器上。    
    
    HandlerAdapter           处理器适配器。拿到请求所对应的处理器后,适配器将负责去调用该处
                                          理器,这使得DispatcherServlet无需关心具体的调用细节
    
    HandlerExceptionResolver 处理器异常解析器。它负责将捕获的异常映射到不一样的视图上去,此处
                                                 还支持更复杂的异常处理代码
    
    ViewResolver             视图解析器。它负责将一个表明逻辑视图名的字符串映射到实际的视图
                                       类型View上
    LocaleResolver&
    LocaleContextResolver
   地区解析器和地区上下文解析器。它们负责解析客户端所在的地区信息
                                               甚至时区信息,为国际化的视图定制提供了支持
    
    ThemeResovler            主题解析。它负责解析你web应用中可用的主题,好比提供一些个性化定
                                         制的布局等
    
    MultipartResolver        解析multi-part的传输请求,好比支持经过HTML表单进行的文件上传等
    
    FlashMapManager          FlashMap管理器。它可以存储并取回两次请求之间的FlashMap对象。后
                                             者可用于在请求之间传递数据,一般是在请求重定向的情境下使用    
                             
    DispatcherServlet维护了一个列表,其中保存了其所依赖的全部bean的默认实现。这个列表保存在包
    org.springframework.web.servlet下的DispatcherServlet.properties文件中。若是在web应用上下文
    WebApplicationContext中配置了某个特殊bean(如InternalResourceViewResolver)后,那么框架就
    不会再使用bean ViewResolver的默认实现web

相关文章
相关标签/搜索