参考此文,https://www.cnblogs.com/heavenyes/p/3905844.html
概括如下:
1.启动tomcat容器,spring将所有的自定义的bean保存到单例的map中,也会扫描@Control以及url保存到一个 Map<url,Control>中
2.根据request中的url定位到 某个control的某个method,通过control中的每个方法的@RequestMapping来拼接url,看是否匹配对应的url.
3.执行method,不过要要绑定request的参数和方法的参数,两种方式,1.通过注解,2.通过绑定方法名,
注解的方式比较方便,@RequestParam("name")String name;
绑定方法名需要通过asm包读取字节码来获取方法的命名,jdk的反射不能获取方法参数的名称,只能获取参数的方法的名称,所有asm读取字节码再获取方法参数的名称可行。