老样子,二话不说先丢出一张图
从图中我们可以看到SpringMVC的几大重要的对象,分别是
- DispatcherServlet:DispatcherServlet是servlet接口的一个实现类,是前端控制器设计模式的实现,主要用作职责调度
- HandlerMapping:完成URL与Handler之间的映射关系
- HandlerAdapter:帮助我们自定义各种Handler
- Controller:控制器接口
- ViewResolver:视图解析器
图片步骤解释:
- 用户发送请求到前端控制器DispatcherServlet
- DispatcherServlet收到请求后调用handlerMapping完成URL与Handler之间的映射
- handlerMapping根据请求URL找到具体的HandlerAdapter,生成Controller控制器
- DispatcherServlet通过HandlerAdapter调用Controller控制器
- Controller执行后返回给HandlerAdapter一个ModelAndView对象
- HandlerAdapter把ModelAndView返回给DispatcherServlet
- DispatcherServlet将ModelAndView传递给ViewResolver视图解析器
- ViewResolver对ModelAndView进行解析,返回具体的View
- DispatcherServlet对View进行试图渲染,将结果响应给用户