一、SpringMVC中请求分发的组件
DispatcherServlet是SpringMVC的核心组件,请求分发是其重要任务。
在DispatcherServlet的请求分发中,采用了适配器模式进行,通过HandlerMapping和HandlerAdapter实现。
HandlerMapping接口继承体系:
HandlerAdapter接口继承体系:
在DispatcherServlet初始化时,将初始化所有HandlerMapping和HandlerAdapter。
二、SpringMVC中请求分发
SpringMVC的请求分发是在其doDispatch()方法中完成的
通过HandlerMapping的getHandler()方法得到Handler
通过HandlerAdapter的supports()方法选出适合的HandlerAdapter
通过HandlerAdapter的handle()方法执行对应的Handler(对应Contoller中的方每个法)
AbstractHandlerMethodAdapter
RequestMappingHandlerAdapter
RequestMappingHandlerAdapter