注明:
DispatherServlet 前端控制器
HandlerMapping 处理器映射器
HandlerAdapter 处理器适配器
Controller 处理器(后端处理器)
ViewAndModel对象 对象中包含视图或视图模型
ViewReslover 视图解析器
Validator 验证器
命令对象(Command 请求参数绑定到的对象就叫命令对象)
表单对象(Form Object 提供给表单展示和提交到的对象就叫表单对象)。
执行流程文字阐述:
- 客户向DispatherServlet(前端控制器)发送请求
- DispatherServlet收到请求后调用HandlerMapping处理器映射器
- HandlerMapping根据请求的URL找到具体的处理器,并生成处理器对象和处理器拦截器(如果有的话),一并返回给DispatherServlet。
- DispatherServlet前端控制器通过调用HandlerAdapter处理器适配器来调用处理器
- 执行处理器Controller
- Controller执行完成后返回ViewAndModel对象
- HandlerAdapter收到ViewAndModel后将其返回给DispaherServlet
- DispaherServlet收到ViewAndModel后将其发送给ViewReslover视图解析器
- ViewReslover解析后返回具体View给前端控制器
- DispatherServlet拿到View后其进行视图渲染,就是将模型数据填充至视图中
- 渲染完成后,DispaterServlet响应客户的请求
下面是图示,画的有点丑,但是结构还是很清晰的嘛: