SpringMVC的执行流程

SpringMVC (JavaWeb开发框架)

MVC三层架构:

  1. 模型(service,dao)

  2. 视图(jsp)

  3. 控制器(controller)

Model(数据模型):

提供要展示的数据,因此包含数据和行为,可以认为是领域模型或者javabean组件,不过现在一般都分离开来: valueObject(Dao层)和服务层(service),也就是提供了数据的查询和数据的更新,包含了主要的业务逻辑,保存了数据的状态

View(视图):

负责模型展示,也就是我们见到的界面

Controller(控制器):

接收请求,根据请求地址返回数据,主要是和前端界面对接,调用业务逻辑,转向指定页面,实现调度工作

MVC执行流程:

  1. 用户发送Request请求到DispatcherServlet前端控制器

  2. 前端控制器收到请求请求调用HandlerMapping(请求映射器)

  3. HandlerMapping找到具体的控制器(可查找xml配置文件或注解配置),生成处理对象的执行链(如果有),在一起返回给DispatcherServlet

  4. DispatcherServlet请求调用处理适配器HandlerAdapter

  5. HandlerAdapter经过适配调用具体的Handler处理器(Controller)

  6. Controller执行完返回具体的ModelAndview

  7. HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet(前端控制器)

  8. DispatcherServlet将ModelAndView传给ViewReslover(视图解析器)

  9. ModelAndView解析完成后返回具体的View(视图)

  10. DispatcherServlet通过view进行渲染,将模型数据填充到request域,也就是用户想看到的页面

  11. 响应用户

涉及组件:

DispatcherServlet前端控制器

HandlerMapping请求映射器

HandlerAdapter处理适配器

Handler处理器

ViewReslover视图解析器

view视图

上一篇:认证故事|我与阿里云的共同成长


下一篇:SpringMVC运行原理