1、客户端请求提交到DispatherServlet(前端控制器)
2、由DispatherServlet控制器通过查询一个或多个HanderMapping(请求映射),找到处理对应请求的Controller
3、查询之后Dispatherservlet就会将请求提交到Controller(页面控制器)
4、Controller调用业务逻辑处理请求之后,返回给ModelAndView
5、由DispatherServlet查询一个或多个ViewResoler(视图解析器),找到对应的视图
6、视图会将结果返回给客户端
上面提到的和没有提到的SpringMVC组件详解:】
DispatherServlet:前置控制器,配置在web.xml文件中的。拦截匹配的请求(不拦截jsp),Servlet拦截匹配规则要自己定义,把拦截下来的请求,依据相应的规则分发到目标Controller来处理
HanderMapping:请求映射关系,将请求映射到处理器(也就是找谁来处理请求)--定义查找controller请求,通过url和bean的name来匹配,从而找到controller
HanderAdapter:处理适配器,SpringMVC通过HandlerAdapter来实际调用处理函数
ViewResolver:视图解析器,用于找到处理返回的页面
controller:页面控制器,动作处理器控制器。 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示
LocalResolver:本地化
MultipaterResolver:文件上传解析器
ExceptionResolver:异常处理器
ModelAndView:model--封装应用状态(entity属性)
--响应状态查询(get方法)
--暴露应用功能(dao和service)
view--产生HTML响应 数据展示
--请求模型更新 触发事件
--提供html、form 人机交互
️