Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherServlet来设计的,这个Servlet会把请求分发给各个处理器,并支持可配置的处理器映射、视图渲染、本地化、时区与主题渲染等,甚至还能支持文件上传。
Http请求到DispatcherServlet
(1) 客户端请求提交到DispatcherServlet。
HandlerMapping寻找处理器
(2) 由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller。
调用处理器Controller
(3) DispatcherServlet将请求提交到Controller。
Controller调用业务逻辑处理后,返回ModelAndView
(4)(5)调用业务处理和返回结果:Controller调用业务逻辑处理后,返回ModelAndView。
DispatcherServlet查询ModelAndView
(6)(7)处理视图映射并返回模型: DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图。
ModelAndView反馈浏览器HTTP
(8) Http响应:视图负责将结果显示到客户端。