一文带你入门SpringMVC(简介、知识体系、常用组件、执行流程)

🔥🔥宏夏Coding网站,致力于为编程学习者、互联网求职者提供最需要的内容!网站内容包括求职秘籍,葵花宝典(学习笔记),资源推荐等内容。在线阅读:https://hongxiac.com🔥🔥

在介绍SpringMVC之前,我们先来介绍一下SpringMVC中的MVC是什么意思

MVC模式是什么

MVC的全称为Model-View-Controller。它是一种软件架构思想,将软件按照模型Model、视图View、控制器Controller来划分,其目标是将软件的用户界面和业务逻辑分离,使代码具有更高的可扩展性、可复用性、可维护性和灵活性。

Model(模型)

        由实体类Bean和业务处理Bean两部分组成。实体类Bean用来存储业务数据的对象,例如User、Student等类。业务处理Bean指Service或Dao的对象,专门用来处理业务逻辑、数据库访问。

View(视图)

        专门用来与用户进行交互,展示数据的资源。通常由HTML、JSP、CSS、JavaScript等组成。

Controller(控制器)

        指的是应用程序中的Servlet。它负责将游览器发送来的请求交给Model层进行处理,并将Model层处理完的数据返回给视图View进行渲染,最终返回给游览器进行显示。Controller层作为View和Model的连接枢纽(桥梁),将用户界面和业务逻辑组织在一起,不参与业务处理。

MVC的工作流程:

1.用户/游览器发送请求到服务器

2.在服务器中,请求被Controller接收

3.Controller调用Model层处理请求

4.Model进行业务处理,处理后将结果返回给Controller

5.Controller根据结果找到对应的View视图

6.View视图渲染数据后最终响应游览器

SpringMVC简介

Spring MVC(全称 Spring Web MVC)是 Spring 框架提供的一款基于 MVC 模式的轻量级 Web 开发框架。它是Spring框架的众多子项目之一,自Spring框架诞生之日就包含在Spring框架中,可以与Spring框架无缝集成。

对于开发者来说,SpringMVC的开发效率明显高于其他的Web框架,因此SpringMVC在企业中得到广泛的应用,成为目前业界最主流的MVC框架之一。

了解完MVC的工作流程,就大概知道SpringMVC是干什么用的了

实际上SpringMVC就是对上述MVC工作流程各种操作的实现,比如服务器如何接收请求参数、如何将请求与对应的处理方法关联、如何将数据保存到域中、如何将数据返回给View、如何根据请求结果进行页面跳转、如何处理请求、游览器如何上传文件、如何下载文件、出现异常时如何处理......

SpringMVC常用组件

SpringMVC常用组件(对象)包括DispatchServlet、HandlerMapping、Handler、HandlerAdapter、View等等。

DispatchServlet(前端控制器)

        它是SpringMVC的核心,本质是一个Servlet。负责将所有的请求进行统一分发,相当于流程SpringMVC的流程控制中心,控制整个流程的执行,对各个组件进行统一调度。

HandlerMapping(处理映射器)

        负责根据请求的url、method等信息,将请求和处理对应请求的Handler处理器关联起来。

Handler(处理器)

        负责在前端控制器的控制下,处理对应的请求,也常常称为Controller控制器。

HandlerAdapter(处理器适配器)

        负责根据HandlerMapping找到的Handler处理器,执行Handler处理器方法。

ViewResolver(视图解析器)

        通过ModelAndView对象中的View信息对逻辑视图名进行解析,解析成真正的视图View,并返回给DispatcherServlet

View(视图)

        将Model模型数据通过页面展示给用户。View对象本身由框架提供,而视图所对应的前端页面(HTML、JSP...)由开发者编写。

Model

        负责在控制器和视图之间传递数据,实际是个key-value集合。

SpringMVC执行流程

1.用户通过游览器向服务器发送HTTP请求,请求在服务器中被前端控制器获取,前端控制器查找对应的请求映射,若不存在则返回404

2.根据请求,前端控制器调用处理映射器获得该配置器配置的所有对象(包括配置器以及对应的拦截器)

3.处理映射器以执行链对象的形式返回

4.前端控制器将执行链中的执行器信息发送给处理器适配器

5.处理器适配器根据信息找到对应的执行器并执行,处理请求

6.执行器执行完后返回一个ModelAndView对象(Spring MVC 的底层对象,包括 Model 数据模型和 View 视图信息)给处理器适配器

7.处理器适配器将ModelAndView对象返回给前端控制器

8.前端控制器获取ModelAndView对象后,请求视图解析器对视图进行解析

9.视图解析器解析完之后将视图返回给前端控制器

10.前端控制器对视图对象进行渲染,填充Model模型数据,生成最后的视图对象

11.视图负责将结果显示到游览器

SpringMVC知识体系

具体的知识点可以看对应的文章哦(陆续更新)~

请求映射(通过@RequestMapping将请求和处理请求的方法关联起来)

SSpringMVC学习之路(三)——@RequestMapping注解(超详细)

获取请求参数(获取请求中携带的参数,比如账号密码等)

SpringMVC学习之路(四)——获取请求参数

域对象共享数据(将数据保存到域对象中,让前端读取数据)

SpringMVC学习之路(五)——如何保存数据到域对象中

视图和视图解析器(包括转发、重定向,实现页面跳转)

RESTful(将URL地址统一风格,用资源表示请求)

类型转化器(对不同的类型进行转换,如请求报文和Java对象的转化)

拦截器(对用户请求进行拦截)

异常处理(出现异常时进行处理,如显示Error页面)

文件上传和文件下载

SpringMVC学习之路——ResponseEntity实现文件下载和上传

注解配置(通过注解替代xml配置)

(第一次写总结性文章,如有错误还请指正)

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值