先上一张网上找的图,简单了解下SpringMVC的流程,从流程图中可以看到整个流程涉及到五个控制器。主要方便自己简单学习总结下mvc的知识,因为是入门所有的以简单为主。
SpringMVC是对Servlet的一个封装,可以帮助我们进行更简洁的Web开发。
(名词和英文三遍起步)
一、前端控制器(DispatcherServlet)
前端控制器是整个流程的控制中心,所有的访问都会走到这个 Servlet中,请求到达前端控制器这里,有它来调用其他组件,最后将响应返回给用户。
DispatcherServlet为什么说是前端控制器或者是整个流程的控制中心呢,简化下整个流程就是这样的:
一、请求来到前端控制器这里,然后前端控制器将请求排到处理器这里(这里将处理器映射器、处理器适配器、处理器统称为处理器);
二、请求到处理器这里,经过一系列处理(比较复杂,我也不懂),将model和view返回给前端控制器;
三,前端控制器收到处理器的返回结果后转发给视图解析器,视图解析器将请求处理后又返回给前端控制器。
四、最后前端控制器将响应返回给用户端。
二、处理器映射器(HandlerMapping)
处理器映射器, 本质上就是一段映射关系,在需要时供前端控制器查阅。
所以对整个流程更详细介绍的话就知道映射器为什么在适配器以及处理器前面。
三、处理器适配器 (HandlerAdapter)
处理器适配器,通过它对处理器进行执行
四、处理器 (Handler)
处理器,业务处理的核心类,通常由开发者编写,描述具体的业务。
到这里可以继续上图
五、视图解析器 (ViewResolver)
视图解析器, 将处理结果生成View视图 。
本质上也是一种映射关系,可以将视图名称映射到真正的视图地址。前端控制器调用处理器适配完成后得到model和view,将view信息传给视图解析器得到真正的view。