原文链接:https://zeroclian.github.io/posts/7981371.html
面试之——浅谈Spring MVC
MVC 是一种设计模式,Spring MVC 是一款优秀的 MVC 框架,能够帮助我们进行更加便捷的 Web 层开发,在Spring MVC 下我们把后端项目分为 Service 层(处理业务)、Dao 层(数据库操作)、Entity 层(实体类)、Controller 层(控制层,返回数据给前端页面)。
原理图:
Spring MVC 工作原理
- 客户端发送请求,直接请求发送到
DispatcherServlet
。 DispatcherServlet
根据请求信息调用HandlerMapping
,解析请求对应的Handler
。- 解析到对应的 Handler(即 Controller)后,开始由 HandlerAdapter 适配器处理。
HandlerAdapter
会根据Handler
来调用真正的处理器开始处理请求,并处理相应的业务逻辑。- 处理器完成业务后,会返回一个
ModelAndView
对象,Model
是返回的数据对象,View
是个逻辑上的View
。 ViewResolver
会根据逻辑View
查找实际的View
。DispaterServlet
把返回的Model
传给View
(视图渲染)。- 把
View
返回给请求者(客户端)。