MVC是一种设计模式。
Spring MVC是一款很优秀的MVC框架。Spring MVC可以帮助我们进行更简洁的Web层开发,并且它天生与Spring框架集成。
Spring MVC下我们一般把后端项目分为Service(处理业务)、Dao(数据操作)、Entity(实现类)、Controller(控制层,返回数据给前台)。
流程:
- 用户发送请求至前端控制器DispatcherServlet
- DispatcherServlet收到请求后,调用HandlerMapping处理器引射器,请求获取Handler
- 处理器引射器根据url找到具体的处理器Handler,生成处理器对象及处理器拦截器,一并返回给DispatcherServlet
- DispatcherServlet调用HandlerAdapter处理器适配器,请求执行Handler
- HandlerAdapter经过适配调用具体处理器处理业务逻辑
- Handler执行完成返回ModelAndView
- HandlerAdapter将Handler执行结果ModelAndView返回给DispatcherServlet
- DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析
- ViewResolver解析后返回具体View
- DisPatcherServlet对View进行渲染视图(即将模型数据填充到视图中)
- DispatcherServlet相应用户
- 前端控制器DispatcherServlet:接收请求、响应结果、相当于转发器,有了DispatcherServlet就减少了其他组件之间的耦合度
- 处理器映射器HandlerMapping:根据请求的URL来查找相应的Hander
- 处理器适配器:HandlerAdapter:负责执行Handler
- 处理器Hander:处理器,需要程序员开发
- 视图解析器ViewResolver:进行视图解析,根据视图逻辑吗将ModelAndView解析出真正的视图view
- 视图view:view是一个接口,它的实现类支持不同的视图类型,如JSP、Freemarker、Pdf等。