Spring MVC 是如何工作的 - Gukie/interview GitHub Wiki
首先,Spring MVC是基于MVC设计模式上的一个框架
- M: 模型层,包括数据Bean, Service层和Dao层
- V: View,视图,比如jsp,html
- C: Controller, 控制器
其次,Spring MVC的工作原理,是基于 一个叫 DispatcherServlet 进行的, 具体工作原理如下:
- Client 请求被 DispatcherServlet 接收到
- DispatcherServlet 收到请求之后,会去当前请求对应的Controller. 这个查找过程,是通过查找 HandlerMapping 实现的,因为 HandlerMapping 维护这 URI 与 Controller之间的关系
- DispatcherServlet 获取到 要找的Controller时,会去调用Controller
- Controller会调用 Model层进行业务逻辑的处理,处理完之后会返回一个ModelAndView给DispatcherServlet. 其中 Model层包括:Service层,Dao层 以及数据Bean
- DispatcherServlet获取到ModelAndView之后,会将ModelAndView中的View交给ViewResolver进行视图解析
- 解析好之后,ViewResolver会使用ModelAndView中的 Model对视图进行渲染,并返回给DispatcherServlet
- DispatcherServlet将渲染好的视图返回给客户端

refer: