首先请求到达核心控制器dispatcherServlet,dispatcherServlet会判断请求后缀是否满足格式要求,如果满足格式要求,会查询handlerMapping,查找对应的handler,调用handlerAdapter进行参数绑定等适配工作,之后调用具体的handler进行业务逻辑处理,返回一个modelAndView对象给dispatcherServlet。dispatcherServlet调用viewResolver进行视图解析渲染,然后返回给客户端(回答这些就足够了)
DispatcherServlet类相关的结构图
DispatcherServlet的初始化程序
DispatcherServlet初始化了什么,可以在其initStrategies()方法中知晓,这个方法如下:
protected void initStrategies(ApplicationContext context) {
initMultipartResolver(context);
initLocaleResolver(context);
initThemeResolver(context);
initHandlerMappings(context);
initHandlerAdapters(context);
initHandlerExceptionResolvers(context);
initRequestToViewNameTranslator(context);
initViewResolvers(context);
initFlashMapManager(context);
}