6 源码分析(了解)
通过前端控制器源码分析springmvc的执行过程。
入口
第一步:前端控制器接收请求
调用doDiapatch
第二步:前端控制器调用处理器映射器查找 Handler
第三步:调用处理器适配器执行Handler,得到执行结果ModelAndView
第四步:视图渲染,将model数据填充到request域。
视图解析,得到view:
调用view的渲染方法,将model数据填充到request域
渲染方法:
6.1 springmvc处理流程源码分析
1. 用户发送请求到DispatherServlet前端控制器
2. DispatherServlet调用HandlerMapping(处理器映射器)根据url查找Handler
3. DispatherServlet调用HandlerAdapter(处理器适配器)对HandlerMapping找到Handler进行包装、执行。HandlerAdapter执行Handler完成后,返回了一个ModleAndView(springmvc封装对象)
DispatherServlet 找一个合适的适配器:
适配器执行Hanlder
4. DispatherServlet拿着ModelAndView调用ViewResolver(视图解析器)进行视图解析,解析完成后返回一个View(很多不同视图类型的View)
视图解析:
5. DispatcherServlet进行视图渲染,将Model中数据放到request域,在页面展示
将model数据放在request域: