1、SpringMVC

SpringMVC

Spring Web MVC,Spring七大功能之一,就是这里springMVC框架,它主要是一种采用MVC设计模式的表现层框架

它同样跟Servlet一样,遵循:请求 - 响应模式;同样使用HTTP通讯协议,完成前后端的数据交互

Servlet存在的缺陷

  1. 太过于依赖Servlet API,强制要求必须继承HTTPServlet

  2. 太过于依赖tomcat容器了,这就导致开发或测试非常的麻烦

  3. 太过于依赖具体的页面技术,例如:JSP

Spring MVC的优点

  1. 采用MVC架构模式,以及服务到工作者的架构模式,将表现层同过多种内置组件定义得更加清晰,让页面控制器显示的更加精炼
  2. Spring MVC是Spring框架的7大功能之一,天然支持Spring
  3. 由于Spring MVC配置多,但更简单、独立(按需配置)
  4. 代码的可重用性很高。通常Spring MVC的配置文件,几乎可以支持任何系统的配置)
  5. 扩展性高。Spring MVC依旧是免费开源的产品,如果功能不够,可以修改源码

MVC设计模式

MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式最早为Trygve Reenskaug提出,为施乐帕罗奥多研究中心(Xerox PARC)的Smalltalk语言发明的一种软件设计模式。MVC可对程序的后期维护和扩展提供了方便,并且使程序某些部分的重用提供了方便。而且MVC也使程序简化,更加直观。

Spring MVC的主要组件

页面控制器

Spring MVC的详细架构图

在这里插入图片描述

  1. 用户发送请求至前端控制器DispatcherServlet
  2. DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle
  3. 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet
  4. DispatcherServlet 调用 HandlerAdapter处理器适配器;
  5. HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器);
  6. Handler执行完成返回ModelAndView
  7. HandlerAdapterHandler执行结果ModelAndView返回给DispatcherServlet
  8. DispatcherServletModelAndView传给ViewResolver视图解析器进行解析;
  9. ViewResolver解析后返回具体View
  10. DispatcherServletView进行渲染视图(即将模型数据填充至视图中)
  11. DispatcherServlet响应用户。