Spring MVC请求流程

       为啥要了解Spring MVC的请求流程
相信学过Java的小伙伴都知道spring框架的主要地位。在它的到来之后,Java的春天来临了。spring MVC作为spring管理Javaweb项目的一个重要框架,在整合web项目,把显示和数据分离,其内部各个模块发挥各自的作用。那么要学好Spring MVC,我们就很有必要了解其执行流程。
       首先我们来看一张图:
在这里插入图片描述
这张图详细介绍了springMVC的执行流程。
       下面我们来详细表述一下这张图的流程:

  1. 用户通过客户端向服务器发起一个request请求,次请求会被前端控制器(DispatcherServlet)所拦截

  2. 前端控制器请求处理器映射器(HandlerMapping)去查找Handler,可以根据XML配置或注解去查找

  3. 处理器映射器根据请求URL找到具体的处理器,生成处理器对象以及处理器拦截器(有则生成),并且返回给前端控制器

  4. 前端控制器请求处理器适配器(HandlerAdapter)去执行相应的Handler(这里常称为Controller)

  5. 处理器适配器会调用Handler处理器(Controller类,也称为后端控制器),在请求信息到达真正的Handler的处理方法之前的这段时间内,SpringMVC还完成了如下工作
           -消息转换:将请求消息(如JSON,XML等数据类型)转换成一个对象,将对象转换成指定的响应信息
           -数据转换:将请求信息进行数据转换,如String转换成Integer,Double等
           -数据格式化:对请求消息进行数据格式化,如将 String类型的数据格式化为日期类型
           -数据验证:验证数据的有效性(长度,格式)等,验证结果存储到BindingResult或Error中

  6. Controller执行完毕后悔返回给处理器适配器一个ModelAndView对象(SpringMVC底层对象),该对象中包含View视图信息或包含Model数据类型和View视图信息

  7. 处理器适配器接收到Controller返回的ModelAndView对象后,将其返回给前端控制器

  8. 前端控制器接收到ModelAndView对象后,选择一个合适的视图解析器(ViewReslover)对视图进行解析

  9. 视图解析器将结果解析后,会根据View视图匹配到相应的视图结果,反馈给前端控制器

  10. 前端控制器接收到View视图之后,进行视图渲染,将模型数据填充到request域

  11. 前端控制器将结果反回给用户
    以上就是完整的执行流程,在这里主要理解前端控制器(DispatercherServlet),处理器映射器(HandlerMapping),处理器适配器(HandlerAdapter),处理器(Handler),视图解析器(ViewResoler),视图View,加粗样式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值