- 首先我们说一下什么是SpringMVC,springMVC是Spring中Web中的一种基于java的请求驱动类型的轻量型Web框架。采用Model-View-Controller分层指责解耦,将复杂的Web体系分解为清晰的几个部分,也正因为这点,将我们数据在整个Web中的流向,角色清晰地展现出来,大致流向为前端控制器--处理器映射器--处理器适配器--视图解析器。
- 下面,我为大家详细谈一下数据的走向:
- 现有用户提交请求到前端控制器(DispatcherServlet);
- 再有前端控制器调用处理器映射器(HandlerMapping),生成Handler;
- 再由处理器映射器根据具体的url定向到具体的处理器,生成处理器对象和拦截器对象(如果有拦截器的话生成拦截器对象,没有就不生成)并返回到前端控制器;
- 前端控制器调用处理器适配器(HandlerAdapter);
- 处理器适配器适配调用到具体处理器(Handler,也叫后端控制器);
- Handler处理完毕后返回ModelAndView(在底层实现中,最后都会转换成ModelAndView);
- 处理器适配器继续返回ModelAndView到前端控制器;
- 前端控制器将ModelAndView传给视图解析器(ViewResoler);
- 视图解析器将ModelAndView解析成View;
- 前端控制器将View渲染,将数据填充到View中;
- 前端控制器响应用户。
- 看着有点多,理清走向就好了,没想象中的那么难记。