DispatcherServlet是前端控制器設計模式的實現,提供Spring Web MVC的集中訪問點,並且負責職責的分派,並且與Spring IoC容器無縫集成,從而能夠得到Spring的全部好處。 具體請參考第二章的圖2-1。前端
DispatcherServlet主要用做職責調度工做,自己主要用於控制流程,主要職責以下:設計模式
一、文件上傳解析,若是請求類型是multipart將經過MultipartResolver進行文件上傳解析;app
二、經過HandlerMapping,將請求映射處處理器(返回一個HandlerExecutionChain,它包括一個處理器、多個HandlerInterceptor攔截器);spa
三、經過HandlerAdapter支持多種類型的處理器(HandlerExecutionChain中的處理器);設計
四、經過ViewResolver解析邏輯視圖名到具體視圖實現;orm
五、本地化解析;ip
六、渲染具體的視圖等;文件上傳
七、若是執行過程當中遇到異常將交給HandlerExceptionResolver來解析。it
從以上咱們能夠看出DispatcherServlet主要負責流程的控制(並且在流程中的每一個關鍵點都是很容易擴展的)。io