springmvc原理解析

【流程图说明】

1.用户发送请求至 前端控制器DispatcherServlet。

2.前端控制器DispatcherServlet收到请求后调用处理器映射器HandlerMapping。

3.处理器映射器HandlerMapping根据请求的Url找到具体的处理器,生成处理器对象Handler及处理器拦截器HandlerIntercepter(如果有则生成)一并返回给前端控制器DispatcherServlet。

4.前端控制器DispatcherServlet通过处理器适配器HandlerAdapter调用处理器Controller。

5.执行处理器(Controller,也叫后端控制器)

6.处理器Controller执行完后返回ModelAnView。

7.处理器映射器HandlerAdapter将处理器Controller执行返回的结果ModelAndView返回给前端控制器DispatcherServlet。

8.前端控制器DispatcherServlet将ModelAnView传给视图解析器ViewResolver。

9.视图解析器ViewResolver解析后返回具体的视图View。

10.前端控制器DispatcherServlet对视图View进行渲染视图(即:将模型数据填充至视图中)

11.前端控制器DispatcherServlet响应用户。

 

组件说明:
1.DisPatcherServlet 前端控制器 
     核心:用户在浏览器输入url,发起请求,首先会到达本组件,由它来调用其他组件来完成整个用户的请求响应过程,DisPatcherServlet的存在大大降低了组件之间的耦合性 


2.HandlerMapping 处理器映射器 
     记录url与处理器的映射,方式有注解、XML配置等 

3.HandLer 处理器 
     后端控制器(通俗一点:Controller控制器 或 Action控制器)。程序员编码的地方,对用户的请求进行自定义逻辑处理 

4.HandlerAdapter 处理器适配器 
     通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。

5.ViewResolver 视图解析器 
ViewResolver负责解析view视图 

6.View 视图 
View是一个接口,实现类支持不同的View类型(jsp、freemarker、velocity) 

相关文章: