一、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
中文版:
当发起请求时被前置的控制器拦截到请求,根据请求参数生成代理请求,找到请求对应的实际控制器,控制器处理请求,创建数据模型,访问数据库,将模型响应給中心控制器,控制器使用模型与视图渲染视图结果,将结果返回给中心控制器,再将结果返回给请求者。
相关
我的该分类的其他相关文章,请点击:【Spring + Spring MVC + MyBatis】文章目录