Spring MVC框架基本原理

图解: 

 流程

  1. 用户发送url请求带前端控制器,前端控制器接收用户请求
  2. 前端控制器请求查找handler,处理器映射器将根据XML配置或者注解配置查找到对应的处理器handler
  3. 处理器映射器返回处理器执行链(HandlerExecutionChain,内部包含相关拦截器和处理器)给前端控制器
  4. 前端控制器请求执行对应的handler
  5. 处理器适配器执行相关的handler
  6. 处理器返回结果(ModelAndView)
            ModelAndView对象里面包含了Model和View对象
  7. 处理器适配器返回ModelAndView给前端控制器
  8. 前端控制器请求视图解析器解析视图
  9. 视图解析器将解析后的视图返回给前端控制器
  10. 前端控制器进行视图渲染,将模型数据填充到request域
  11. 响应用户请求结果

组件:
          1.前端控制器 Dispatcher
                作用: 接收请求,响应结果,连接其它组件,相当于中央调度员
          2.处理器映射器 HandlerMapping

                SimpleUrlHandlerMapping或BeanNameUrlHandlerMapping
                作用: 根据请求的url查找Handler
          3.处理器Handler(Controller)
                作用: 处理相关业务  
          4.处理器适配器 HandlerAdapter

                1.HttpRequestHandlerAdapter: 处理器Handler(Controller)需要实现HttpRequestHandler接口

                2.SimpleControllerHandlerAdapter:处理器Handler(Controller)需要实现Controller接口
                作用: 按照相关规则执行Handler
          5.视图解析器 ViewResolver
                作用: 解析视图,根据逻辑视图解析出真正的视图
          6.视图 View
                作用: View是一个接口,实现类支持不同的View类型(jsp,pdf...)    

  补充:

             Spring配置时开启的包扫描与SpringMVC配置开启的包扫描存在区别。配置时两者缺一不可!否则容易报空对象异常。


                  原因:Spring作为父容器,SpringMVC作为子容器(子容器可以访问到父容器的对象,而父容器不能访问子容器的对象)
             

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值