目录
12、SpringMVC执行流程
12.1、SpringMVC核心组件
DispatcherServlet:前端控制器,不需要工程师开发,由框架提供
作用:统一处理请求和响应,整个流程控制的中心,由它调用其它组件处理用户的请求
HandlerMapping:处理器映射器,不需要工程师开发,有框架提供
作用:根据请求的url,method等信息查找Handler,即控制方法
Handler:处理器,需要工程师开发
作用:在DispatcherServlet的控制线Handler对具体的用户请求进行处理
HandlerAdapter:处理器适配器,不需要工程师开发,由框架提供
作用:通过HandlerAdapter对处理器(控制器方法)进行执行
ViewResolver:视图解析器,不需要工程师开发,由框架提供
作用:进行视图解析,得到相应的视图,例如:ThymeleafView、InternalResourceView、RedirectView
View:视图
作用:将模型数据通过页面展示给用户
12.2、SpringMVC工作流程
流程说明:
1、客户端(浏览器)发送请求,DispatcherServlet拦截请求。
2、DispatcherServlet根据请求信息调用HandlerMapping。HandlerMapping根据uri去匹配查找能处理的Handler(也就是平常所说的Controller控制器),并会将请求涉及到的拦截器和Handler一起封装。
3、DispatcherServlet调用HandlerAdapter适配执行Handler。
4、Handler完成对用户请求的处理后,会返回一个ModelAndView对象给DispatcherServlet,ModelAndView包含了数据模型以及相应的视图信息。Model是返回的数据对象,View是个逻辑上的View。
5、ViewResolver会根据逻辑View查找实际的View。
6、DispaterServlet把返回的Model传给View(视图渲染)。
7、把View返回给请求者(浏览器)。