springmvc源码流程解读

springmvc:

首先将springmvc,首先,请求先经过过滤器,(服务器层面的设计的)如果请求通过,(Shiro,Security),来到dispacherServlet,调用doDispatch()来处理,
1.首先,来确定同步异步请求,(WebAsyncManager)意思是主要用来管理异步请求的处理。什么时候要用到异步处理呢?就是业务逻辑复杂(或者其他原因),为了避免请求线程阻塞,需要委托给另一个线程的时候。
2.然后,进行检查checkMultipart,是否是文件上传,
3.通过HandlerExecutionChain分发请求到每个handler,(请求映射地址转换为具体的handler类,采用了适配器模式)
      于此同时,在HandlerExecutionChain类中进行查找关于此handler的拦截器(链式设计,责任链模式)
       HandlerMapping会把请求映射为HandlerExecutionChain类型的handler对象,将handler对象作为参数传递给HandlerAdapter的实例化对象

   4.  由HandlerAdapter适配器处理,HandlerAdapter会根据Handler来调用真正的处理器开处理请求  ,handler来调用实际的业务层来处理相应的业务逻辑

   5.处理器处理完业务后,设置view,
   6. 进入后置拦截器
   7. processDispatchResult,render进行渲染并且会返回一个ModelAndView对象,
    8.Model是返回的数据对象,View是个逻辑上的View。ViewResolver会根据逻辑View查找实际的View。
    9.DispaterServlet把返回的Model传给View。通过View返回给请求者(浏览器)
    详细地址:http://note.youdao.com/noteshare?id=51cadd4753210b957448e9cc1ebe5b61
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值