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