文章目录
前言
本文章将简单介绍SpringMVC的工作流程
一、SpringMVC
MVC模式是模型(Model),视图(view),控制器(controller)的简写,其核心思想是通过请求处理控制,业务逻辑,数据封装,数据显示等流程节点分离的思想来组织代码。
所以,MVC是一种设计模式,而SpringMVC是一款基于MVC设计模式思想实现的MVC框架,属于Spring技术栈的一部分,SpringMVC可以帮助我们进行更简洁的Web层开发,并且它天生与Spring框架集成,更利于架构的设计与搭建。
二、SpringMVC的核心组件
1.DispatcherServlet
名称与用途:核心处理器,负责统一接收请求,将请求分发至不同的控制器,并负责客户端响应
2.HandlerMapping
名称与用途:处理器映射器,根据uri去匹配查找能处理的Handler,并会将请求涉及到的拦截器和Handler一起封装。
3.HandlerAdapter
名称与用途:处理器适配器,根据HandlerMapping找到的Handler,适配执行对应的Handler
4.Handler
名称与用途:请求处理器,处理实际请求的处理器
5.ViewResolver
名称与用途:视图解析器,根据Handler返回的逻辑视图名称,解析并渲染真正的视图文件,并传递给DisptcherServlet响应至客户端
三.SpringMVC
3.1工作原理图
- 客户端(浏览器)发送请求,统一由DispatcherServlet拦截处理请求
- DispatcherServlet根据请求信息调用HandlerMapping。HandlerMapping根据uri去匹配查找能处理的Handler(我们定义的Controller控制器),并会将请求涉及到的拦截器和Handler一起封装
- DispatcherServlet调用HandlerAdapter适配执行Handler
- Handler完成对于用户的请求的处理后,会返回一个ModelAndView模型视图对象给DispatcherServlet。ModelAndView中包含了数据模型以及相应的视图信息,Model是返回的数据对象,View是View视图的逻辑名称
- ViewResolver会根据逻辑View名称查找并解析实际的View视图文件,并根据DispatcherServlet返回的Model数据模型传给View视图文件,进行渲染执行,产生响应结果。
- DispatcherServlet负责将响应结果,输出至客户端浏览器。