Springmvc的框架流程

来源:互联网 发布:python websocket 库 编辑:程序博客网 时间:2024/05/30 23:32

我是一个菜鸟,以前学习structs都没有学好,这次由于实习接触到了一个项目,是用springmvc+mybatis+mysql编写的,我希望能够把我遇到的困难,和怎么把困难解决的,写到博客上,以便于以后我自己再遇到同样的问题可以查阅,也希望能够与大家一起学习进步。望大神指教。
今天我想讲一下我学习到的springmvc的底层实现原理。
下面是springmvc的架构图
这里写图片描述

   从架构图中,我们可以知道用户将请求发送至前端控制器DispatcherServlet,DispatcherSevlet收到请求调用HandlerMappping处理器映射器,处理器映射器根据请求URL找到具体的处理器,生成处理器对象以及处理器拦截器一并返回给DispatcherServlet.DispatcherServlet通过HandlerAdapter处理器适配器调用处理器。执行处理器(controller,也叫后端控制器),Controller执行完返回modelandview.handleradapter将controller执行结果modelandview返回给dispatcherServlet,dispatcherServlet将modelandview传给ViewReslover视图解析器。ViewReslover视图解析后返回具体的view,DispatcherServlet对view进行渲染视图,dispatchterservlet响应用户。 组件说明:DispatcherServlet:前端控制器 用户请求到达前端控制器,他相当于mvc模式中的c,dispatcherServlet是整个流程的中心,有他调用其他组件处理用户的请求,dispatcherServlet的存在降低了组件间的偶然性。 handlerMapping:处理器映射器 handlerMapping负责根据用户请求找到Handler即处理器,Springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。 handler:处理器 Handler是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下Handler具体的用户请求进行处理。一般根据程序员具体的业务编写。 HandlerAdapter:处理器映射器 通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。 View Resolver:视图解析器 viewResolver负责将处理结果生成view视图,view Resolver首先根据视图名解析成物理视图即具体的页面视图,再生成view视图对象,最后对View进行渲染将处理结果通过页面展示给用户。Spring mvc框架提供很多的View视图类型,包裹jstlView、pdfView等等
0 0
原创粉丝点击