总结
通过以上剖析可知,DispatcherServlet作为springMVC框架的一个统一前端掌握器,须要吸收所有发送到这个运用的要求,然后在自身启动时,已经加载好的URI和要求处理器映射,获取对应的要求处理器,由要求处理器进行实际的要求处理。以是基于此,DispatcherServlet须要多种子功能组件来完成要求处理,由于运用也可以利用多个DispatcherServlet来吸收要求,为了对浩瀚子功能组件的封装和多个DispatcherServlet的子组件的隔离性,每个DispatcherServlet利用了一个自身独立spring子容器WebApplicationContext来管理自身的子功能组件。然后共享同一个root WebApplicationContext(即WEB-INF/applicationContext.xml)来获取公用组件,如数据库连接池等。在这些子功能组件中,我们须要核心关注HandlerMappings,即要求URI和要求处理器映射这个组件的设计,即DispatcherServlet的WebApplicationContext是如何产生这个映射的,映射的设计是怎么样的,要求处理用具体是什么,如我们运用代码常日是利用@Controller和@RequestMapping来定义的,这些在底层源码是怎么实用的;当一个要求到来时,DispatcherServlet是如何从里面查找的。这些问题实在就须要到spring的IOC实现了,即spring-context和spring-beans包的实现,详细在后续文章剖析。