Spring MVC是一个模块,或者说是一种流程,一个套路。

是Spring框架基于MVC设计思想实现的一个模块,用于处理Web请求。

Spring MVC  与   MVC设计思想的关系类似于:  MVC是一个接口,是规范,而Spring MVC是它的一个实现模块。(纯属个人理解)。

MVC设计思想 是在Spring框架中的Web模块  做了一个具体的实现。所以在Spring框架中,有Web MVC,就是在Web层中,基于MVC思想的一种设计。

Spring MVC的简易架构如下图:

 

注:图中的核心组件的名词解释:

  • DispatcherServlet    :    前端控制器,是处理请求们的入口。接收到客户端传来的请求们后,去发号指令,把请求们下发给Model中不同的对象们,让它们各司其职,去处理这些请求。
  • HandlerMapping  :  映射器对象,用于管理    url与对应controller   的映射关系。客户端通过url把请求传过来,这个url是对应Model中的某个对象和方法的。这个映射关系就放在HandlerMapping中,便于让DispatcherServlet去发号指令。
  • Interceptors   :   拦截器,实现请求响应的共性处理。Controller把请求们下发给Model中对象们时,还要经过这个Interceptors的考验。通过考验的请求们,才会被发送给Model中的对象们去处理。
  • Controller   :   分为front controller  和  back controller ,front controller负责把请求们下发给Model中的相应对象。back controller中的各对象负责接收符合条件的请求们,并处理请求们。
  • ViewResovler  :  视图解析器,解析对应的视图关系。ViewResover接收到model对象传过来的处理结果后,进行解析。解析完毕后,将处理结果发送到客户端。