各个组件的功能:
DispatcherServlet:前端控制器:相当于一个调度中心,由它来调用其他组件处理用户的请求,降低组件之间的耦合。
HandlerMapping:处理器映射器:负责根据请求寻找Handler,不同的映射器实现不同的映射方式。
Handler:处理器:后端控制器,在前端控制器的控制下对用户的请求进行处理,需要自己根据业务开发。
HandlAdapter:处理器适配器:负责执行Handler
ViewResolver:视图解析器:负责将处理结果生成View视图。
- 用户发送请求到前端控制器DispatcherServlet;
- DispatcherServlet收到请求后,调用处理器映射器HandlerMapping;
- HandlerMapping根据请求找到具体的处理器Handler,将处理器和处理器拦截器返回给DispatcherServlet;
- DispatcherServlet将Handler交给处理器适配器HandlerAdapter执行;
- 执行Handler(即Controller);
- 返回ModelAndView给HandlerAdapter;
- HandlerAdapter将Handler的执行结果ModelAndView返回给DispatcherServlet;
- DispatcherServlet将ModelAndView交给视图解析器ViewReslover进行视图解析;
- 解析完毕后ViewReslover返回具体的View给DispatcherServlet;
- DispatcherServlet对View进行渲染视图(即将模型数据填充到视图中);
- DispatcherServlet响应用户。