【SpringMVC】之源码分析工作流程

一、概述

学习之后,记下笔记,理清思路。

带着问题去思考:

springMVC接收到用户请求之后,如何工作?

springMVC核心组件有哪些?

哪些是程序员需要编写的部分?

二、SpringMVC工作流程

 工作流程:

  1. 用户发送请求;
  2. DispatcherSerlvet(前端控制器) 接收请求,调用HandlerMapping;
  3. HandlerMapping(处理器映射器) 去查找处理器Handler(就是Controller),HandlerMapping 返回执行链HandlerExecutionChain(包括Handler对象、拦截器数组)给DispatcherSerlvet;
  4. DispatcherSerlvet调用HandlerAdapter(处理器适配器);
  5. HandlerAdapter去执行Handler;
  6. Handler返回ModelAndView给HandlerAdapter;
  7. HandlerAdapter返回ModelAndView给DispatcherSerlvet;
  8. DispatcherSerlvet调用ViewResolver(视图解析器)进行视图解析;
  9. ViewResolver返回视图对象;
  10. DispatcherSerlvet进行视图渲染
  11. 返回渲染后对象;
  12. 响应请求。

 三、核心组件

  • 前端控制器DispatcherSerlvet

  控制中心,接收请求,转发请求,响应请求

  • 处理器映射器   HandlerMapping

  查找处理器Handler

  • 处理器适配器  HandlerAdapter

  执行处理器Handler

扫描二维码关注公众号,回复: 6277543 查看本文章
  • 视图解析器  ViewResolver

  解析ModelAndView

  • 处理器Handler    (需要工程师开发)

  Controller

  • 视图View    (需要工程师开发jsp...)

  前端页面

四、源码分析

  1. IDEA创建SpringMVC项目

  参考:https://www.cnblogs.com/chenlinghong/p/8339555.html

  创建出现的问题:

1 web.xml中出现“element servlet-name is not allow here”,导致系统启动失败  
2    

  创建一个简单的SpringMVC项目,只关注SpringMVC的工作流程。

  1. 调试源码

 

猜你喜欢

转载自www.cnblogs.com/tingtingzhou/p/10927492.html