SpringMvc工作原理
1、MVC工作原理
- M:Model(完成业务逻辑 Service/dao/entity/)
- V:View(完成界面渲染 jsp/html)
- C:Controller(控制器->类似于CPU 接受请求->调用M->返回V)
-
2、SpringMvc工作原理
- Spring和SpringMvc的关系:SpringMVC是一个MVC的开源框架,SpringMVC是Spring的一个后续产品,其实就是Spring在原有基础上,又提供了web应用的MVC模块,可以简单的把SpringMVC理解为是spring的一个模块(类似AOP,IOC这样的模块),网络上经常会说SpringMVC和Spring无缝集成,其实SpringMVC就是Spring的一个子模块,所以根本不需要同spring进行整合。
- SpringMVC中的组件:
- 前端控制器(DispatcherServlet):接收请求,响应结果,相当于电脑的CPU。处理器映射器(HandlerMapping):根据URL去查找处理器处理器(Handler):(需要程序员去写代码处理逻辑的)处理器适配器(HandlerAdapter):会把处理器包装成适配器,这样就可以支持多种类型的处理器,类比笔记本的适配器(适配器模式的应用)视图解析器(ViewResovler):进行视图解析,多返回的字符串,进行处理,可以解析成对应的页面
- SpringMvc工作原理图

- SpringMvc工作流程
- 第一步:用户发起请求到前端控制器(DispatcherServlet)
- 第二步:前端控制器请求处理器映射器(HandlerMappering)去查找处理器(Handle):通过xml配置或者注解进行查找
- 第三步:找到以后处理器映射器(HandlerMappering)像前端控制器返回执行链(HandlerExecutionChain)
- 第四步:前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)去执行处理器(Handler)
- 第五步:处理器适配器去执行Handler
- 第六步:Handler执行完给处理器适配器返回ModelAndView
- 第七步:处理器适配器向前端控制器返回ModelAndView
- 第八步:前端控制器请求视图解析器(ViewResolver)去进行视图解析
- 第九步:视图解析器像前端控制器返回View
- 第十步:前端控制器对视图进行渲染
- 第十一步:前端控制器向用户响应结果
