SpringMVC执行流程

SpringMVC请求流程

SpringMVC中处理请求最为重要的组件就是:DispatcherServlet,在处理用户请求时,SpringMVC底层的请求流程如下图:

  1. 用户端发起请求到后台服务器,请求被前端控制器(DispatcherServlet)拦截

  2. 前端控制器拦截到请求后,将请求信息交给处理器映射器(HandlerMapping)查找Handler

  3. 处理器映射器向前端控制器返回处理器(Handler)

  4. 前端控制器得到处理器后调用处理器适配器(HandlerAdapter)执行Handler

  5. 处理器适配器执行Handler

  6. Handler根据路径找到对应的Controller方法执行完成后给适配器返回模型和视图对象(ModelAndView)

  7. 处理器适配器向前端控制器返回ModelAndView

  8. 前端控制器请求视图解析器(ViewResolver)进行视图解析

  9. 视图解析器向前端控制器返回view

  10. 前端控制器进行视图渲染

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

组件说明

每一次用户端请求SpringMVC都会执行一遍这样的流程,在这一流程中存在几个SpringMVC中重要的组件:

  • DispatcherServlet (前端控制器)

    用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性。

  • HandlerMapping (处理器映射器)

    HandlerMapping负责根据用户请求url找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。

  • HandlerAdapter (处理器适配器)

    通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。

  • ViewResolver (视图解析器)

    View Resolver负责将处理结果生成View视图,View Resolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值