咱們在以前已經介紹了dispatcherServlet的配置,今天小博老師再跟你們介紹一下dispatcherServlet的工做原理和類繼承關係。下面這張圖將主要的向管理類及方法抽離出來,方便查看,根據類的結構說明整個請求是如何工做的。spa
從類圖中很容易看出DispatcherServlet最終繼承的是HttpServlet,也就是說它一樣知足Servlet的工做原理。Servlet初始化時須要調用init方法,該方法由在HttpServletBean實現,init方法調用了initServletBean,該方法在FrameworkServlet中實現。initServletBean方法會初始化配置文件,如{servlet-name}-servlet.xml。3d
請求到達後Servlet將調用service方法進行處理,若是是get方法請求,Servlet將調用doGet方法,doGet方法在FrameworkServlet中實現,doGet方法又會調用processRequest方法,processRequest則調用doService方法處理,而doService方法在DispatcherServlet中實現,doService再調用了DispatcherServlet的doDispatch方法,該方法則會根據request找到轉發對象,並進行請求轉發操做。code