核心组件:
DispatcherServlet:前端控制器,负责调度其他模块执行,核心模块
Handler:处理器,完成具体的业务逻辑,相当于Servlet
HandlerMapping:处理器映射器,DispatcherServlet通过HandlerMapping找到具体的Handler
HandlerInterceptor:处理器拦截器,是一个接口,需要拦截处理时可实现该接口
HandlerExecutionChain:处理器执行链,包含两部分:Handler和HandlerInterceptor
HandlerAdapter:处理器适配器,Handler执行前,需要进行的验证,包括表单数据验证、数据类型转换、表单数据封装到POJO
ModelAndView:封装了数据模型和视图信息
ViewResolver:视图解析器,DispatcherServlet通过ViewResolver把逻辑视图解析为物理视图,最终把渲染的结果响应给客户端
工作流程:
1、首先客户端发送请求
2、前端控制器收到请求后并通过处理器映射器找到对应的处理器,处理器和处理器拦截器以处理器执行链的形式返回给前端控制器
3、前端控制器通过处理器适配器,调用处理器执行业务逻辑,并返回数据模型和视图信息
4、前端控制器把获取的数据和视图信息通过视图解析器,解析渲染视图并返回
5、前端控制器把渲染后的视图返给客户端