SpringMVC基础
什么是MVC?
MVC
是模型(Model)、视图(View)和控制器(Controller)的简写,其核心思想是通过将业务逻辑、数据、显示分离来组织代码。
- 模型(Model):用于封装业务逻辑处理。
- 视图(View):用于数据展现和操作界面。
- 控制器(Controller):负责转发请求,对请求进行处理。
MVC
是一种设计模式,Spring MVC
是一款很优秀的MVC框架。Spring MVC可以帮助我们进行更简洁的Web层的开发,并且它天生与Spring框架集成。Spring MVC下我们一般把后端项目分为Service
层(处理层)、Dao
层(数据库操作)、Entity
层(实体类)、Controller
层(控制层,返回数据给前台页面)。
SpringMVC的核心组件有哪些?
DispatcherServlet
:前端控制器,负责接收请求、分发,并给予客户端响应。HandlerMapping
:处理器映射器,根据URI去匹配查找能处理的Handler
,并会将请求涉及到的拦截器和Handler
一起封装。HandlerAdapter
:处理器适配器,根据HandlerMapping
找到的Handler
,适配执行对应的Handler
(调用具体的方法对用户发来的请求进行处理)。Handler
:请求处理器,处理实际请求的处理器。ViewResolver
:视图解析器,根据Handler
返回的逻辑视图/视图,解析并渲染真正的视图,并传递给DispatcherServlet
响应客户端。
SpringMVC工作原理
具体流程如下:
(1)客户端发起HTTP请求:客户端将请求提交到DispatcherServlet
。
(2)寻找处理器:由DispatcherServlet
控制器查询一个或多个HandlerMapping
,找到处理该请求的Controller
。
(3)调用处理器:DispatcherServlet
将请求提交到Controller
(4)调用业务处理逻辑并返回结果:Controller
在调用业务处理逻辑后,返回ModelAndView
。
(5)处理视图映射并返回模型:DispatcherServlet
查询一个或多个ViewResoler
视图解析器,找到ModelAndView
指定的视图。
(6)HTTP响应:视图负责将结果在客户端浏览器上渲染和展示。