SpringMVC位于spring web端的一个框架,是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责分解。
SpringMVC的执行过程如下图示:
- 用户发起一个 Http 请求会交给 DispatcherServlet (前端控制器) 来处理;
- DispatcherServlet 会根据用户的 URL 请求HandlerMapper (处理器映射器),并返回一个执行链;
- DispatcherServlet 将执行链返回的 Handler 信息发送给HandlerAdapter(处理器适配器) ;
- HandlerAdapter 根据 Handler 信息找到并执行相应的 Handler(常称为 Controller);
- Handler 执行完毕后会返回给 DispatcherServlet 一个 ModelAndView 对象;
- DispatcherServlet 接收到 ModelAndView 对象后,会请求 ViewResolver(视图解析器)对视图进行解析;ViewResolver 根据 View 信息匹配到相应的视图结果,并返给 DispatcherServlet;
- DispatcherServlet 接收到具体的 View 视图后,进行视图渲染,将 Model 中的模型数据填充到 View 视图中的 request 域,生成最终的 View(视图);
- 视图负责将结果显示到浏览器(客户端)。