🔥🔥宏夏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注解(超详细)
获取请求参数(获取请求中携带的参数,比如账号密码等)
域对象共享数据(将数据保存到域对象中,让前端读取数据)
视图和视图解析器(包括转发、重定向,实现页面跳转)
RESTful(将URL地址统一风格,用资源表示请求)
类型转化器(对不同的类型进行转换,如请求报文和Java对象的转化)
拦截器(对用户请求进行拦截)
异常处理(出现异常时进行处理,如显示Error页面)
文件上传和文件下载
SpringMVC学习之路——ResponseEntity实现文件下载和上传
注解配置(通过注解替代xml配置)
(第一次写总结性文章,如有错误还请指正)