首先我们来了解一下SpringMVC的五大核心组件:
1、DispatcherServlet:
请求的入口,核心控制器,请求的入口,所有的请求都需要通过此入口(控制器,请求的入口)
2、HandlerMapping:
记录了请求和处理器得一对一的关系,派发当前请求(控制器,请求派发)
3、Controller:
请求处理器,处理请求的具体组件(控制器,处理请求)
4、ModelAndView:
封装了数据信息和视图信息的对象(处理报告)(模型层:封装处理结果数据)
5、ViewResolver:
视图处理器,负责生成最终的视图结果(视图层:视图处理器)
接着我们看一下下面这张图,上面画了SpringMVC的处理流程:
1、请求先从前台到达后台服务器的web层,首先经过入口DispatcherServlet
2、然后经过记录了请求和处理器一一对应的HandlerMapping的派发
3、之后到达对应Controller请求处理器进行处理
4、处理完成后生成处理报告,处理报告再到达ModelAndView进行封装
5、封装之后的处理报告再经过视图处理器ViewResolver生成处理结果,最后再响应给前台
看着这个步骤是不是感觉有些抽象?下面我来举一个例子
就比如你去约见一家公司的老板谈生意
1、首先你到了他们的公司,经过他们公司的前台DispatcherServlet,前台打电话给老板办公室
2、老板的秘书HandlerMapping接到了电话,到前台来查看了你和老板的一对一的邀约,带你去见到他们的老板Controller
3、你与他们的老板Controller见了面之后进行洽谈,谈完了之后老板将这笔生意的决定告诉了执行总裁ModelAndView
4、执行总裁ModelAndView接到老板的决定之后开始拟定这笔生意的所有细节,处理完之后执行总裁ModelAndView将生意的所有细节打包成处理报告交给了手下的员工ViewResolver。
5、员工ViewResolver接到了处理报告之后,根据处理报告写好对应的邮件,最后发邮件将最终的内容展现到你面前
以上就是我对SpringMVC处理流程的理解,希望能对你有所帮助O(∩_∩)O