springmvc主要围绕dispatcherservlet设计的,当client请求到达dispatcherservlet后,doService方法实现会调用doDispatch方法,此方法中包含以下关键点:
HandlerExecutionChain mappedHandler = getHandler(processedRequest);//HandlerMapping将会把请求封装为HandlerExecutionChain
HandlerAdapter ha = getHandlerAdapter(mappedHandler.getHandler()); //通过handler得到处理器适配。
ModelAndView mv = ha.handle(processedRequest, response, mappedHandler.getHandler());//通过适配器得到视图解析器
总之,springmvc处理请求的整个过程,主要涉及到dispatcherservlet、HandlerMapping、HandlerAdapter、ModelAndView,这个几个关键组件。而且这些组件都单独与dispatcherservlet进行交互,他们互相之间不发生交互。