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响应:视图负责将结果在客户端浏览器上渲染和展示。