HandlerMapping

将请求映射到处理程序以及用于预处理和后处理的拦截器列表,其细节因HandlerMapping不同实现而异。

两个主要的HandlerMapping实现是RequestMappingHandlerMapping(它支持@RequestMapping注释方法)和SimpleUrlHandlerMapping(它维护URI路径模式到处理程序的显式注册)。

HandlerAdapter

帮助DispatcherServlet调用映射到请求的处理程序,而不管该处理程序实际是如何调用的。例如,调用带注释的控制器需要解析注释。

HandlerAdapter的主要目的是保护DispatcherServlet不受这些细节的影响。

HandlerExceptionResolver

处理异常的策略,可能将异常处理映射到程序、HTML错误视图或其它目标。

ViewResolver

将从处理程序返回的基于逻辑字符串的视图名称解析为要呈现响应的实际视图。

LocalResolver

解析客户端使用的语言环境和时区,以便能够提供国际化视图。

ThemeResolver

解决Web应用程序可能使用的主题,例如,提供个性化的布局。

MultipartResolver

解析多媒体请求。

FlashMapManager

存储和检索“输入”和“输出”FlashMap,可用于从一个请求传递属性到另一请求,通常用于重定向。但存在的缺点是只能解决第一个重定向,而不能解决再次重定向。例如从重定向到B网站,如果再从B网址重定向到C网址,那么数据将会丢失。

它们在何时被实例化?

在DispatcherServlet的initStrategies方法中被实例化以及初始化。如何走到这一步请查看我的另一篇博文 DispatcherServlet和Spring应用上下文初始化详解

// DispatcherServlet#initStrategies
protected void initStrategies(ApplicationContext context) {initMultipartResolver(context);initLocaleResolver(context);initThemeResolver(context);initHandlerMappings(context);initHandlerAdapters(context);initHandlerExceptionResolvers(context);initRequestToViewNameTranslator(context);initViewResolvers(context);initFlashMapManager(context);
}

SpringMVC中的九大组件相关推荐

  1. springmvc十六:九大组件

    DispatcherServlet中有九个引用类型的属性,这就是springmvc的九大组件. springmvc在工作的时候,关键位置都是由这些组件完成的. /** MultipartResolve ...

  2. springMVC九大组件及一次请求流程

    一.九大组件 HandlerMapping(处理器映射器) HandlerMapping 是⽤来查找Handler的,也就是处理器,具体的表现形式可以是类,也可以是⽅法.⽐如,标注了@RequestM ...

  3. 总裁演说思维商务谈判中的九大技巧

    总裁演说思维商务谈判中的九大技巧 说起谈判,总让人感到一股双方对决的杀戮之气,令人不寒而栗.嗯,其实你想太多了,谈判真正的本质,就是一种解决问题的思考模式,所以谈判是说服,更是协调冲突.而谈不定,工作 ...

  4. 推荐系统研究中的九大数据集

    推荐系统研究中的九大数据集 原文地址 ps:对原文有所删减 在这篇博客中,作者介绍了九个数据集,其中一些是推荐系统中常用到的标准数据集,也有一些是非传统意义上的数据集(non-traditional ...

  5. Openstack九大组件

    云是服务 云,本身没有资源,只是去管理和调度资源 虚拟化是技术 虚拟化提供资源,在云的世界里,虚拟化提供底层的计算.存储.网络资源,由云来接管 云的五大特征: 按需自助服务 广泛的网络接入 资源池化 ...

  6. JQuery中的九大选择器及其应用(中)

    第四种:内容选择器 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  7. JQuery中的九大选择器及其应用(上)

    第一种:基本选择器 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  8. JQuery中的九大选择器及其应用(下)

    第七种:子元素选择器 <!DOCTYPE html> <html lang="en"> <head><meta charset=" ...

  9. 英语中的九大状语从句

    文章转自:http://wuzengping.blog.163.com/blog/static/28346016201311910235646/ 版权归原作者. 状语从句在主从复合句中修饰主句中的动词 ...

  10. jsp中的九大隐含对象和EL中的隐含对象

    JSP隐含对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明.JSP隐含对象也被称为预定义变量. JSP所支持的九大隐含对象: 对象 描述 request HttpSe ...

最新文章

  1. 转:Android之 MTP框架和流程分析
  2. DayDayUp:分析“普通人”如何逐步走上食物链顶端(看那些成名史案例,有感而发)
  3. 后端必备的200本书,一次性给你!
  4. qt 中如何检测是否按下键盘(很实用)
  5. 浅谈ios设计之使用表格UITableVIew设计通讯录的方法
  6. REDIS故障排查工具
  7. Kubernetes 无法删除pod实例的排查过程
  8. Anaconda 一直停留在 Loading apps list... 解决方案
  9. Android中的IPC机制
  10. java 空包_圆通快递接口,圆通快递礼品商城接口、圆通空包接口,圆通快递低价接口,礼品商城接口、一件代发接口...
  11. bootstrap中轮播图、模态框、提示框/弹出框、滚动监听、弹性布局、响应式flex、多媒体对象
  12. 小米5如何支持ATT网络运营商
  13. 基于商品包含关系的飞猪搜索优化实践
  14. 海康威视Java SDK实战
  15. “跟技术Leader聊了10分钟,我就猜到下周要发生重大宕机事故!”
  16. 正确区分LJMP、AJMP、SJMP、JMP指令()
  17. 电脑PC微信头像和图片不能显示出来?
  18. C++进阶与拔高(五)(C++ STL utility和iterator)
  19. 【卡夫卡的岛上书店】:一个利用 vuepress 的主题 vuepress-theme-reco 以及 vuepress-theme-vdoing 搭建自己的静态博客
  20. 技能分享 | 麦肯锡教给我的写作武器:连接词是文章通顺的灵魂

热门文章

  1. mysql 5.6.15.0 源码_源码编译mysql-5.6.15
  2. android n进入分屏代码分析_完全不用鼠标写代码!你信么?[视频]
  3. phonegap2.9.1 android 环境搭建,PhoneGap 开发环境搭建
  4. 自动驾驶 11-2: 激光雷达传感器模型和点云 LIDAR Sensor Models and Point Clouds
  5. 极客大学架构师训练营--编程的未来 面向对象 依赖倒置原则 -- 第二次作业
  6. linux 安裝 curl的 dev 包,R包:RCurl和curl包在Linux上安装失败
  7. jxl java mer_导出报表出错,有没有大神懂得
  8. 可以在线测试血糖的软件,血糖也能自己测,糖护士荷智能血糖仪体验:测血糖就这么简单...
  9. 四数之和 leetcode
  10. Android Studio新建工程syncing失败;Android studio Connection timed out: connect