【springMVC】SpringMVC常用组件与SpringMVC的执行流程

一、SpringMVC常用组件

1.DispatcherServlet:前端控制器,不需要工程师开发,由框架提供
作用:统一处理请求和响应,整个流程控制的中心,由它调用其它组件处理用户的请求. 2.HandlerMapping:处理器映射器,不需要工程师开发,由框架提供
作用:根据请求的url、method等信息查找Handler,即控制器方法
3.Handler:处理器(控制器类和方法),需要工程师开发
作用:在DispatcherServlet的控制下Handler对具体的用户请求进行处理
4. HandlerAdapter:处理器适配器,不需要工程师开发,由框架提供
作用:通过HandlerAdapter对处理器(控制器方法)进行执行
5.ViewResolver:视图解析器,不需要工程师开发,由框架提供
作用:进行视图解析,得到相应的视图,例如:ThymeleafView、InternalResourceView、RedirectView.
6.View:视图,不需要工程师开发,由框架或视图技术提供
作用:将模型数据通过页面展示给用户

二、SpringMVC的执行流程

在这里插入图片描述
(1)用户通过客户端向服务器发送请求,请求被前端控制器DispatcherServlet所拦截;
(2)DispatcherServlet拦截到请求后,会调用HandlerMapping处理器映射器;
(3)处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有者生成)一并返回给DispatcherServlet;
(4)DispatcherServlet会通过返回信息选择合适的HandlerAdapter(处理器适配器);
(5)HandlerAdapter会调用Handler(处理器),这里的处理器指的就是程序中编写的Controller类,也被称为后端控制器;
(6)Controller执行完成后,会返回一个ModelAndView对象,该对象中会包含视图名或包含模型和视图名;
(7)HandlerAdapter将ModelAndView对象返回给DispatcherServlet;
(8)DispatcherServlet会将ModelAndView对象选择一个合适的VIewResolver(视图解析器);
(9)ViewResolver解析后,会向DispatcherServlet中返回具体的View(视图);
(10)DispatcherServlet对View进行渲染(即将模型数据填充至视图中);
(11)视图渲染结果会返回给返回给客户端浏览器显示。

猜你喜欢

转载自blog.csdn.net/weixin_46081857/article/details/122274241