Spring MVC 的工作流程

先通过一张图来展示Spring MVC程序的执行请况:

按图中标注的序号,Spring MVC程序的执行流程如下:

(1)、 用户通过客户端向服务器发送请求,请求会被Spring MVC的前端控制器DispatcherServlet所拦截。

(2)、DispatcherServlet拦截到请求后,会调用HandlerMapping(处理器映射器)

(3)、处理器映射器会根据请求URL找到具体的Handler(处理器),生成处理器对象及处理器拦截器,(如果有则生成)一并返回给DispatcherServlet

(4)、DispatcherServlet会通过返回信息,选择合适的HandlerAdapter(处理器适配器)

(5)、HandlerAdapter会调用执行Handler(处理器),这里的处理器指的是程序中编写的Controller类,也成为后端控制器

(6)、Controller执行完后,会返回一个ModelAndView对象,该对象会包含视图名或包含模型

(7)、HandlerAdapter将ModelAndView对象返回给DispatcherServlet.

(8)、DispatcherServlet会根据ModelAndView对象,选择一个合适的ViewResolver(视图解析器)

(9)、ViewResolver解析后,会向DispatcherServlet返回一个具体的View(视图)

(10)、DispatcherServlet对View进行渲染(即将模型数据填充至视图中)

(11)、渲染结果会返回给客户端浏览器显示。

组件及其作用

  • 前端控制器(DispatcherServlet):接收请求,响应结果,相当于转发器,中央处理器。减少了其他组件之间的耦合度
  • 处理器映射器(HandlerMapping):根据请求的url查找Handler
  • Handler处理器:按照HandlerAdapter的要求编写
  • 处理器适配器(HandlerAdapter):按照特定规则(HandlerAdapter要求的规则)执行Handler。
  • 视图解析器(ViewResolver):进行视图解析,根据逻辑视图解析成真正的视图(View)
  • 视图(View):View是一个接口实现类试吃不同的View类型(jsp,pdf等等)

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值