Spring MVC 概述
SpringMVC是一个基于MVC模式的Web框架,它是Spring Framework的一部分。SpringMVC主要用于在Java Web应用程序中实现Web层,提供了一套与平台无关的、可重用的Web组件。
Spring MVC是Spring框架提供的一个实现webMVC设计模式的轻量级框架,全称是Spring Web MVC。它是目前主流的实现MVC设计模式的框架,提供前端路由映射、视图解析等功能。Java Web开发者必须要掌握的技术框架。
Spring Web MVC 框架提供 模型-视图-控制器 架构和随时可用的组件,用于开发灵活且松散耦合的 Web 应用程序。MVC 模式有助于分离应用程序的不同方面,如输入逻辑,业务逻辑和 UI 逻辑,同时在所有这些元素之间提供松散耦合。
MVC是一个架构模式,它分离了表现与交互。它被分为三个核心部件:模型、视图、控制器。下面是每一个部件的分工:
● 视图是用户看到并与之交互的界面。
● 模型表示业务数据,并提供数据给视图。
● 控制器接受用户的输入并调用模型和视图去完成用户的需求。
MVC是一种软件架构思想,把软件按照模型、视图、控制器来划分。
在Spring MVC中,Controller负责接收用户的请求和响应浏览器。用户通过视图层发送请求到服务器,请求被Controller接收。Controller调用相应的Model层处理请求,处理完毕后结果返回到Controller。Controller再根据请求处理的结果找到对应的View视图,渲染数据后最终响应给浏览器。Spring MVC对这套MVC流程进行封装,帮助开发者屏蔽底层细节,并且开放出相关接口供开发者调用,让MVC开发更简单方便。
总体来说,SpringMVC将Web层的处理流程分成了多个步骤,每个步骤都有对应的组件负责处理。通过这种方式,SpringMVC实现了松耦合的设计,并且提供了很高的可扩展性和灵活性。同时,SpringMVC也提供了很多常用的功能,例如数据绑定、表单验证、异常处理等,使得开发者可以更快速、更高效地开发出高质量的Web应用程序。
【组件介绍】
其核心组件包括DispatcherServlet(前置控制器)、Handler(处理器)、HandlerMapping(处理器映射)、HandlerInterceptor(处理器拦截器)、HandlerExecutionChain(处理器执行链)、HandlerAdapter(处理器适配器)、ModelAndView(模型数据和视图信息)、ViewResolver(视图解析器)等。
DispatcherServlet:前端控制器,作用就是接收请求,响应结果,相当于转发器
HandleMapping:处理器映射器,作用就是根据请求的URL查找Handler
HandlerAdapter:处理器适配器,作用就是按照特定的规则去执行Handler,也就是开发Handler时需要满足HandlerAdapter的规则,这样HandlerAdapter才能执行Handler。
View resolver:视图解析器,作用根据逻辑视图解析成真正的视图(view)
view:视图,是一个接口,其实现类能支持不同的view类型,jsp、freemarker、Excel等
Spring MVC的工作原理
1.用户发送请求至前端控制器DispatcherServlet
2. DispatcherServlet收到请求调用HandlerMapping处理器映射器
3.处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet
4.DispatcherServlet通过HandlerAdapter处理器适配器调用处理器
5.执行处理器(Controller,也叫后端控制器)
6.Controller执行完成返回ModelAndView
7.HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet
8.DispatcherServlet将ModelAndView传给ViewReslover视图解析器
9.ViewReslover解析后返回具体View
10DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)
11.DispatcherServlet响应用户