SpringMVC的工作流程。(java后台开发面试必问)
2019-02-28 本文已影响3人
prisoner_mirror
(Notice:以下所有经验也是我根据网上的经验整理的,如有侵权可以联系我删除,欢迎交流和沟通,Wx:IT_Ezra,QQ 654303408。 有问题讨论也可联系我。)
(PS:众所周知,SpringMVC是目前比较主流的Web层的框架,基本上是现在面试java后台的同学们面试必问的知识点,说难不难,使用起来不难,因为封装得特别好,也比较轻量级,并且加上现在的RESTful风格的接口,使得使用起来十分方便,但是如果想更加强化这方面的内容的同学可以去了解一下SpringMVC的源码来进行学习,我也得此做了一点点整理和分享。)
一、SpringMVC简介
SpringMVC是一种基于Spring实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想,将web层进行职责解耦,并管理应用所需对象的生命周期,为简化日常开发,提供了很大便利。
SpringMVC提供了总开关——前端控制器(DispatcherServlet);请求处理映射器(Handler Mapping)和处理适配器(Handler Adapter),视图解析器(View Resolver)进行视图管理;动作处理器Controller接口(包含ModelAndView,以及处理请求响应对象request和response),配置灵活,支持文件上传,数据简单转化等强大功能。
SpringMVC工作流程详情
-
(1)客户端通过url发送请求
-
(2-3)核心控制器Dispatcher Servlet接收到请求,通过系统或自定义的映射器配置找到对应的handler,并将url映射的控制器controller返回给核心控制器。
-
(4)通过核心控制器找到系统或默认的适配器
-
(5-7)由找到的适配器,调用实现对应接口的处理器,并将结果返回给适配器,结果中包含数据模型和视图对象,再由适配器返回给核心控制器
-
(8-9)核心控制器将获取的数据和视图结合的对象传递给视图解析器,获取解析得到的结果,并由视图解析器响应给核心控制器
-
(10)核心控制器将结果返回给客户端