SpringMVC框架结构
SpringMVC处理来自客户端请求的流程如下:
-
前端控制器DispatcherServlet接收客户端请求
-
DispatcherServlet将请求发给处理器映射器HandlerMapping
-
HandlerMapping根据URL得到该请求需要的处理器链,处理器链里包括处理器和处理器拦截器(如果有的话)。
-
DispatcherServlet拿到HandlerMapping返回的处理器链后将处理器链发送给处理器适配器HandlerAdapter
-
HandlerAdapter会根据处理器链一一调用具体的处理器对请求进行处理并返回模型与示图数据ModelAndView。
-
DispatcherServlet拿到HandlerAdapter返回的ModelAndView数据,会将这些数据发送给ModelAndViewResolver模型与示图解析器
-
ModelAndViewResolver会将数据处理成示图类View的实例对象。
-
DispatcherServlet拿到View实例对象后调用View对象方法渲染示图,亦即将数据写入示图中。
-
最后DispatcherServlet将渲染后的示图发回客户端。
图解如下: