一、原理图
二、文字说明
1、用户发送请求到前端控制器
2、前端控制器请求处理器映射器(HandlerMapping)去查找处理器(Handler)
3、 处理器映射器(HandlerMappering)找到Handler后向前端控制器返回执行链(HandlerExecutionChain)
4、前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler)
5、处理器适配器去执行具体的Handler(也就是我们开发人员说的controller)
6、处理器(Handler)执行完后给处理器适配器返回一个ModelAndView对象
7、处理器适配器将ModelAndView返回给前端控制器
8、前端控制器请求视图解析器(ViewResolver)去进行视图解析
9、视图解析器解析完成后向前端控制器返回View
10、前端控制器对视图进行渲染
11、前端控制器向用户响应结果
三、核心组件介绍
前端控制器(DisatcherServlet):接收请求,响应结果,返回可以是json,String等数据类型,也可以是页面。(相当于电脑的CPU)
处理器映射器(HandlerMapping):根据URL去查找处理器,一般通过xml配置或者注解进行查找。
处理器(Handler):需要程序员去写代码处理逻辑的 controller。
处理器适配器(HandlerAdapter):可以将处理器包装成适配器,这样就可以支持多种类型的处理器。(类比笔记本的适配器)
视图解析器(ViewResovler):进行视图解析,返回view对象(常见的有JSP,FreeMark等)。