图片来自百度
1、发起请求到前端控制器
2、前端控制器请求handlerMapping查找handler 可以根据xml配置 注解进行查找
3、处理器映射器handlerMapping向前端控制器返回handler
4、前端控制器调用处理器适配器处理handler
5、处理器适配器执行handler
6、handler处理完给适配器返回modelAndView
7、处理器适配器向前端控制器返回ModelAndView
ModelAndView是SpringMVX+C的底层对象
8、前端控制器请求视图解析器去解析视图 根据逻辑视图名解析成真正的视图
9、视图解析器向前端控制器返回View
10、前端控制器该进行视图渲染
视图渲染就是将模型数据(ModelAndView对象中)填充到request域
11、前端控制器向用户响应结果
组件:
1、前端控制器DispatcherServlet:(不需要程序员开发)
作用接收请求,响应结果 相当于转发器
(中央处理器 减少了其他组件的耦合性)
2、处理器映射器:根据请求的url来查找Handler (不需要程序员开发)
Handler(需要程序员开发)
3、处理器适配器:按照特定的规则执行Handler(HandlerAdapter要求的规则)(不需要程序员开发)
写handler的时候要按照HandlerAdapter的要求去做
4、视图解析器:根据逻辑视图解析成真正的视图(view)
5、视图View(需要程序员开发jsp)
View是一个接口实现类支持不同的view类型(jsp freemarker pdf)