SpringMVC执行流程

   SpringMVC以条理清晰、易维护、效率高的特点成为当下热门框架之一,应用也非常广泛。但很多同学都仅限于会用,并不真正了解SpringMVC框架,面试问起来也只是会用,显然这是远远不够的,笔者今天就以SpringMVC注解开发为例,为大家讲解一下SpringMVC的执行流程。不当之处,欢迎补充。

一、组件介绍

   1.前端控制器(DispatcherServlet)

        作用就是接受请求,响应结果。相当于转发器。

 

   2.处理器映射器(HandleMapping)

        作用就是解析请求的url,得到请求的uri,查找Handler。

 

   3.处理器适配器(HandlerAdapter)

        作用就是按照特定的规则去执行Handler,这也是为什么开发Handler的时候需要满足HandlerAdapter的规则,这样HandlerAdapter才能Handler。这里的Handler指的就是我们在Controller的逻辑处理。找到Handler就是找到对应的Controller。

 

   4.视图解析器(View  resolver)

      作用就是根据逻辑视图解析成真正的视图。

 

    5.视图(View)

      View是一个接口,其实现类能支持不同的View类型,如jsp、freemarker、Excel等。

 

二、执行流程图

原图片地址:https://www.2cto.com/uploadfile/Collfiles/20161230/20161230093354709.png

 

三、流程图解读

第一步

用户发起请求到前端控制器DispatchServlet

第二步

DispatchServlet请求处理器映射器HandlerMapping查找Handler,可以根据xml查找,也可以根据注解查找。

第三步

HandlerMapping解析请求的URL,得到uri,查找到处理器执行链HandlerExcutionChain返回给前端控制器DispatchServlet。

第四步

HandlerMapping调用处理器适配器HandlerAdapter去执行Handler

第五步

处理器适配器执行Handler

第六步

Handler执行完给处理器适配器返回一个ModelAndView对象,该对象是SpringMVC框架的一个底层对象,包括了Model和View。

第七步

处理器适配器给前端控制器返回ModelAndView对象。

第八步

前端控制器请求视图解析器View  resolver进行视图解析,根据逻辑视图解析成真正的物理视图(jsp、FreeMark等)。

第九步

视图解析器给前端控制器返回View对象

第十步

前端控制器进行视图渲染

第十一步

前端控制器向用户响应结果

 

以上就是SpringMVC的执行流程,如有不当之处,欢迎指出。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值