springmvc执行流程
springMvc主要应用于表示层,和之前的servlet开发相比较,极大的简化了开发.用一个controller就可以包含很多servlet的请求,参数的获取也变得灵活多样并且简单。可以通过springmvc配置拦截器啊什么的组件,更加便捷的进行开发
那么springmvc的执行过程是怎么样的呢,可以用这两张图梳理一下:
springmvc中加入了一个前端控制器的概念,将所有的请求交给前端控制器来处理,而真正的业务逻辑成为处理器。那么当一次请求过来的时候springmvc是怎么处理的呢?那么就看一下下面这张图:
这里就有了springmvc三大组件:
* 处理器映射器 负责根据URL寻找对应的处理器方法
* 处理器适配器 负责真正的去调用某个处理器方法
* 视图解析器 负责将逻辑视图转换成物理视图
可与图中模块一一对应
DispatcherServlet:前端控制器
HandlerMapping: 处理器映射器
HandlerAdapter:处理器适配器
ViewReslover:视图解析器
Handler:处理器
整个过程如图所示,文字描述如下;
1. 用户通过浏览器发送请求至DispatcherServlet
2. DispatcherServlet收到请求调用HandlerMapping
3. HandlerMapping找到具体的处理器链返回给DispatcherServlet
4. DispatcherServlet会根据返回的处理器链调用HandlerAdapter
5. HandlerAdapter经过适配调用具体的Handler(controller)
6. Controller执行完成返回一个执行结果
7. HandlerAdapter将Handler的结果ModelAndView对象返回给DispatcherServlet
8. DispatcherServlet将ModelAndView对象传给ViewReslover
9. ViewReslover解析后得到具体View,并返回给DispatcherServlet
10. DispatcherServlet根据View进行视图渲染(即将模型数据填充至视图中)
11. DispatcherServlet会将渲染后的视图响应给浏览器
更多推荐
Java面试题(9)-springmvc执行流程
发布评论