Spring框架组件学习之SpringMVC

SpringMVC框架

SpringMVC框架是什么

Spring框架

SpringMVC框架

从以上的框架图中,我们可以很清晰的看出:Springmvc是一个基于mvc的web框架,并且它是spring框架的一个模块。由此,我们在开发的过程中,SpringMVC和spring无需通过中间整合层进行整合。


mvc在b/s系统下的应用

mvc是一个设计模式,mvc在b/s系统下的应用,如下图:
mvc在b/s系统下的应用


SpringMVC框架

SpringMVC框架,用户发出一个请求时,处理流程如下图:
处理流程

根据以上处理流程图,总结如下:

  1. 发起请求到前端控制器(DispatcherServlet);
  2. 前端控制器请求HandlerMapping查找Handler可以根据xml配置、注解进行查找(DispatcherServlet);
  3. 处理器映射器HandlerMapping向前端控制器返回Handler;
  4. 前端控制器调用处理器适配器去执行Handler;
  5. 处理器适配器去执行Handler;
  6. Handler执行完成给适配器返回ModelAndView;
  7. 处理器适配器向前端控制器返回ModelAndView,ModelAndView是SpringMVC框架的一个底层对象,包括Model和view;
  8. 前端控制器请求视图解析器去进行视图解析根据逻辑视图名解析成真正的视图(jsp);
  9. 视图解析器向前端控制器返回View;
  10. 前端控制器进行视图渲染视图渲染将模型数据(在ModelAndView对象中)填充到request域;
  11. 前端控制器向用户响应结果。

在这个流程中所涉及到组件:

  • 前端控制器DispatcherServlet(不需要程序员开发)
    作用:接收请求,响应结果,相当于转发器,中央处理器,有了DispatcherServlet减少了其它组件之间的耦合度。
  • 处理器映射器HandlerMapping(不需要程序员开发)
    作用:根据请求的url查找Handler
  • 处理器适配器HandlerAdapter
    作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler
  • 处理器Handler(需要程序员开发)
    注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler
  • 视图解析器View resolver(不需要程序员开发)
    作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)
  • 视图View(需要程序员开发jsp)
    View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf…)