【Spring】(12)Spring MVC 介绍

【Spring】(12)Spring MVC 介绍

一、Spring MVC 简介

1.Spring MVC 建键介绍

Spring Web MVC是基于Servlet API构建的原始Web框架,并且从一开始就已包含在Spring框架中。正式名称“ Spring Web MVC”来自其源模块(spring-webmvc)的名称,但它通常被称为“ Spring MVC”。

与Spring Web MVC并行,Spring Framework 5.0引入了一个反应式堆栈Web框架,其名称“ Spring WebFlux”也基于其源模块(spring-webflux)。本节介绍Spring Web MVC。

Spring Web MVC 和Spring MVC是同一个东西,只是我们通常称之为Spring MVC。它是Spring Framework的一部分,是基于Java实现的MVC轻量级web框架。

1.MVC

  • MVC是模型(Model)是视图(Views)控制层(Controller)的缩写,是一种软件设计规范;
  • 是将业务逻辑、数据、显示分离的方法来组织代码;
  • MVC 主要作用是降低了视图于业务逻辑键的双向耦合;
  • MVC 不是一种设计模式,MVC是一种架构模式。

Model(模型):数据模型,提供要展示的数据,因此包含数据和行为。(就是Dao层和Service层)

View(视图):负责进行模型的展示,一般就是我们见到的用户界面,客户想看到的东西。

Controller(控制器):接收用户请求,委托给模型进行处理(状态改变),处理完毕后把返回的模型数据返回给视图,由视图负责显示。(也就是说控制器作了一个调度员的工作)

2.为什么要学Spring MVC

之前我们都是使用Servlet,但是随着项目越来越大,Servlet会变得非常多,难以管理。现在学习Spring MVC会变得非常简单。

Spring MVC特点:

  • 轻量级、简单易学
  • 高效、基于请求响应的MVC框架
  • 与Spring兼容性好,无缝结合(我们可以将Spring MVC中要用到bean注册到Spring中)
  • 约定由于配置
  • 功能强大:RESTful、数据验证、格式化、本地化、主题等
  • 简洁灵活

Spring的web框架围绕DispatcherServlet[调度Servlet]设计。

二、分发器 或 调度器(DispatcherServlet)

2.分发器

Spring的web框架围绕DispatcherServlet设计。DispatcherServlet的作用是将请求分发到不同的处理器。我们可以采用基于注解的controller声明开发,十分简洁;

Spring MVC框架像许多其他MVC框架一样,**以请求为驱动,围绕一个中心Servlet分派请求及提供其他功能,DispatcherServlet是一个实际的Servlet(继承自HttpServlet基类)

在这里插入图片描述

2.处理流程

Spring Web MVC中的请求处理工作流程

在这里插入图片描述

参考自官网:spring 4 的 22.2 The DispatcherServlet

中文版:

当发起请求时被前置的控制器拦截到请求,根据请求参数生成代理请求,找到请求对应的实际控制器,控制器处理请求,创建数据模型,访问数据库,将模型响应給中心控制器,控制器使用模型与视图渲染视图结果,将结果返回给中心控制器,再将结果返回给请求者。

在这里插入图片描述
参考:SpringMVC学习(一)