Spring MVC 框架是高度可配置的,包含多种视图技能,例如 JSP、FreeMarker、Tiles、iText 和 POI。
Spring MVC 框架并不关心利用的视图技能,也不会强制开拓者只利用 JSP。

  Spring MVC 实行流程

  Spring MVC 实行流程如图 1 所示。

  SpringMVC 的实行流程如下。

jsp返回项目路径Spring MVC履行流程 React

  1、用户点击某个要求路径,发起一个 HTTP request 要求,该要求会被提交到 DispatcherServlet(前端掌握器);

  2、由 DispatcherServlet 要求一个或多个 HandlerMapping(处理器映射器),并返回一个实行链(HandlerExecutionChain)。

  3、DispatcherServlet 将实行链返回的 Handler 信息发送给 HandlerAdapter(处理器适配器);

  4、HandlerAdapter 根据 Handler 信息找到并实行相应的 Handler(常称为 Controller);

  5、Handler 实行完毕后会返回给 HandlerAdapter 一个 ModelAndView 工具(Spring MVC的底层工具,包括 Model 数据模型和 View 视图信息);

  6、HandlerAdapter 吸收到 ModelAndView 工具后,将其返回给 DispatcherServlet ;

  7、DispatcherServlet 吸收到 ModelAndView 工具后,会要求 ViewResolver(视图解析器)对视图进行解析;

  8、ViewResolver 根据 View 信息匹配到相应的视图结果,并返回给 DispatcherServlet;

  9、DispatcherServlet 吸收到详细的 View 视图后,进行视图渲染,将 Model 中的模型数据添补到 View 视图中的 request 域,天生终极的 View(视图);

  10、视图卖力将结果显示到浏览器(客户端)。

  Spring MVC接口

  Spring MVC 涉及到的组件有 DispatcherServlet(前端掌握器)、HandlerMapping(处理器映射器)、HandlerAdapter(处理器适配器)、Handler(处理器)、ViewResolver(视图解析器)和 View(视图)。
下面对各个组件的功能解释如下。

  1)DispatcherServlet

  DispatcherServlet 是前端掌握器,从图 1 可以看出,Spring MVC 的所有要求都要经由 DispatcherServlet 来统一分发。
DispatcherServlet 相称于一个转发器或中心处理器,掌握全体流程的实行,对各个组件进行统一调度,以降落组件之间的耦合性,有利于组件之间的拓展。

  2)HandlerMapping

  HandlerMapping 是处理器映射器,其浸染是根据要求的 URL 路径,通过表明或者 XML 配置,探求匹配的处理器(Handler)信息。

  3)HandlerAdapter

  HandlerAdapter 是处理器适配器,其浸染是根据映射器找到的处理器(Handler)信息,按照特定规则实行干系的处理器(Handler)。

  4)Handler

  Handler 是处理器,和 Java Servlet 扮演的角色同等。
其浸染是实行干系的要求处理逻辑,并返回相应的数据和视图信息,将其封装至 ModelAndView 工具中。

  5)View Resolver

  View Resolver 是视图解析器,其浸染是进行解析操作,通过 ModelAndView 工具中的 View 信息将逻辑视图名解析成真正的视图 View(如通过一个 JSP 路径返回一个真正的 JSP 页面)。

  6)View

  View 是视图,其本身是一个接口,实现类支持不同的 View 类型(JSP、FreeMarker、Excel 等)。

  以上组件中,须要开拓职员进行开拓的是处理器(Handler,常称Controller)和视图(View)。
普通的说,要开拓处理该要求的详细代码逻辑,以及终极展示给用户的界面。

  把稳:由于 Spring MVC 构造比较繁芜,以是学习的时候也要节制学习方法。
首先要明确 Spring MVC 是一个工具,既然是工具,那么我们就须要先节制工具的利用方法,不要陷入细节中,深入浅出,逐步通过实际利用来加深对其的理解。

开课吧广场-人才学习互换平台