Spring mvc是一个机遇DispacterServlet的MVC框架,每一个请求都是通过DispacterServlet派发的,具体流程如下:
1.web容器加载后,用户向服务器发送请求,前端控制器DispacterServlet会接收到用户的请求,然后将请求委托给他的解析器处理(它自己不处理,作为统一访问点,进行全局的流程控制)。
2.HandlerMapping会将请求映射为HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器)对象,通过这种策略模式,很容易添加新的映射策略;
3.HandlerAdapter,HandlerAdapter将会把处理器包装为适配器,从而支持多种类型的处理器;
4.处理器功能处理方法的调用,HandlerAdapter将会根据适配的结果调用真正的处理器的功能处理方法,完成功能处理;并返回一个ModelAndView对象(包含模型数据、逻辑视图名);
5.ViewResolver, ViewResolver将把逻辑视图名解析为具体的View;
6.View会根据传进来的Model模型数据进行渲染;
7.返回控制权给DispatcherServlet,由DispatcherServlet返回响应给用户,到此一个流程结束。