SpringMVC 由action到请求的过程

抛出问题:为什么加上@action 发请求就可以跳到java后台?其实现原理是什么?springMvc核心DispatcherServlet的理解?

过程分析: 和抽奖是一样的逻辑,抽奖我们有三个动作 a: 先把与奖品对应的奖券放在抽奖箱子中;b: 伸手到箱子中抽奖;c: 查看抽到的奖券进行兑奖

问题解决:1 :注册(制作奖券)获取所有bean,进行isHandler判断(也就是是否加了@controller注解),是则detectHandlerMethods--

      映射抽象为RequestMappingInfo,将可执行的HandlerMethod和RequestMappingInfo一起注册到MappingRegistry中(也就是register方法)

    

    

     2:匹配(抽奖) 也就是DispatcherServlet 去 registerMapping中找刚才我们注册的handlerMethod  核心方法doDispatch 按截图去看可以看到mappedHandler = getHandler(processedRequest);

我把这个方法截图截出来,大家就一目了然了.我们现在拿到奖券了



     3:返回(兑奖)请求跳至后台了!

原文地址:https://www.cnblogs.com/zslb/p/9639025.html