1.initMultipartResolver(context); 处理文件上传
2.initLocaleResolver(context);处理国际化配置
3.initThemeResolver(context);主题配置
4.initHandlerMappings(context);
5.initHandlerAdapters(context);
(1)HttpRequestHandlerAdapter:Http请求适配器
(2)SimpleControllerHandlerAdapter:简单控制器处理器适配器,处理实现org.springframework.web.servlet.mvc.Controller接口的控制器
(3) AnnotationMethodHandlerAdapter:基于注解的实
6.initHandlerExceptionResolvers(context):异常处理,实现
7.initRequestToViewNameTranslator(context);加载逻辑视图解析
8.initViewResolvers(context);初始化视图解析器
9.initFlashMapManager(context);用户存储、检索、管理FlashMap实例
一个真实的处理流程
(1)绑定请求参数到当前线程
(2)委托给doService进一步处理
1.checkMultipart。如果是文件上传则转换request请求为DefaultMultipartHttpServletRequest
2.获取对应的handle
3.缓存处理,Last-Modified机制,只要实现LastModified接口即可
5.真正的逻辑处理
SimpleControllerHandlerAdapter中的处理,最终调用的是你实现了org.springframework.web.servlet.mvc.AbstractController#handleRequest的接口
7.根据视图跳转页面
(3)请求结束恢复线程至原始状态
(4)请求处理后发布时间通知