SpringMVC的执行原理
官图
大概执行流程:
用户–>
前端控制器(web.xml)–>
委托给处理器(配置文件)–>
调用业务对象(对应的控制类 Controller)–>
把信息返回给页面处理器–>
解析返回回来的信息并返回给前端控制器–>
前端控制器得到信息后根据信息中的url执行最终的视图展示给用户!
详细图:
详细执行原理:
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
- 用户发送请求给前端控制器
- 前端控制器委托请求给页面控制器(也就是“配置文件”)
- 页面控制器通过HandlerMapping根据路径查找Handler,把结果映射给DispatchServlet
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
- DispatcherServlet通过映射回来的信息让处理器适配器(HandlerAdaper)执行Handler(Handler上有具体的Controller,意思其实是执行Controller)
- Controller把执行信息返回给处理器适配器(HandlerAdapter)
- 处理器适配器(HandlerAdapter)再返回给DispatcherServlet
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>
- DispatcherServlet调用视图解析器来解析处理器适配器返回的信息
- 视图解析器将解析的视图名(前缀和后缀)返回给DispacthcherServlet。
- DispactherServlet将根据视图解析器解析出来的视图名将最终视图传递给用户!