05DispatcherServlet的初始化策略

简介: 流程回顾及后续规划接收到spring之后回调之后的初始化策略

内容概览


  • 流程回顾及后续规划
  • 接收到spring之后回调之后的初始化策略


流程回顾及后续规划


  • 到目前为止Http请求都交给了DispatcherServlet来进行处理
  • 启动了spring的生命周期并接收到了上下文启动后的回调
  • 注册了RequestMapping和Handler的映射关系


接下来就是准备接收Http请求及响应也就是springmvc的执行流程


  • 根据接收到的Http请求查找对应的Handler
  • 调用Handler处理逻辑
  • 返回结果



那需要解决的问题就是怎么去查找,如何去调用,怎么返回结果。这些问题依靠DispatcherServlet定义的策略


DispatcherServlet的初始化策略



  1. FrameworkServlet接收到了spring上下文启动后的回调之后调用自定义的处理事件方法
  2. onApplicationEvent方法内加锁调用模版方法onRefresh
  3. DispatcherServlet实现了模版方法onRefresh
  4. onRefresh方法会调用初始化策略方法,在该方法里会有一系列的初始化操作

protected void initStrategies(ApplicationContext context) {

initMultipartResolver(context);

initLocaleResolver(context);

initThemeResolver(context);

initHandlerMappings(context);

initHandlerAdapters(context);

initHandlerExceptionResolvers(context);

initRequestToViewNameTranslator(context);

initViewResolvers(context);

initFlashMapManager(context);

}


相关文章
|
XML 存储 前端开发
02创建DispatcherServlet来处理所有的请求
1.Servlet的生命周期 2.DispatcherServlet的类结构体系 3.让DispatcherServlet来处理所有的请求
257 0
|
前端开发
DispatcherServlet源码注解分析
DispatcherServlet源码注解分析
149 0
SpringMVC源码解析DispatcherServlet#doDispatch方法流程(下)
SpringMVC源码解析DispatcherServlet#doDispatch方法流程(下)
305 0
SpringMVC源码解析DispatcherServlet#doDispatch方法流程(下)
|
设计模式 开发框架 前端开发
SpringMVC源码解析DispatcherServlet#doDispatch方法流程(上)
SpringMVC源码解析DispatcherServlet#doDispatch方法流程(上)
253 0
SpringMVC源码解析DispatcherServlet#doDispatch方法流程(上)
|
前端开发 Java Spring
DispatcherServlet源码分析
DispatcherServlet处理request DispatcherServlet是前端控制器, Spring MVC遵循前端控制器模式,前端控制器是MVC 模式中C的一部分, 除此之外,C还包括我们定义的Controller等应用控制器类。
751 0
DispatcherServlet请求流程解析-doDispatch(三)
上篇文章我们主要看了DispatcherServlet在提供服务之间做的初始化工作,大部门工作都在WebApplicationContext中完成,然后WebApplicationContext是DispatcherServlet的一个属性。
|
Java Spring 容器
DispatcherServlet请求流程解析-initWebApplicationContext(二)
上面一篇文章提到,在Servlet初始化的时候,获取属性后调用initServletBean,这个方法会initWebApplicationContext,这是DispatcherServlet对后面的处理做了很多的预先准备工作,我们一起来看看它到底做了什么事情。
|
前端开发 Java Spring
SpringMVC的DispatcherServlet的默认策略
SpringMVC的DispatcherServlet的默认策略 在使用SpringMVC的时候,我们知道需要HandlerMapping定义请求路径与处理器之间的映射,需要HandlerAdapter来调用处理器方法并返回一个ModelAndView对象,需要ViewResolver来解析视图。
1953 0