SpringMVC的认识及执行流程
什么是SpringMVC
SpringMVC是基于Java的实现了MVC设计模式的请求驱动类型的轻量级WEB框架,通过把Model、View、Controller分离,将web层进行的职责解耦,把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便开发组内人员之间的交流。
SpringMVC的流程
- 用户发送请求至前端控制器(DispatcherServlet)
- 前端控制器(DispatcherServlet)收到请求后,调用处理器映射器(HandlerMapping)
- 处理器映射器(HandlerMapping)根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给前端控制器(DispatcherServlet)
- 前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)
- 处理器适配器(HandlerAdapter)经过适配调用具体的处理器(Handler)
- 处理器(Handler)执行完成后返回ModelAndView
- 处理器适配器(HandlerAdapter)将处理器(Handler)执行结果ModelAndView返回给前端控制器(DispatcherServlet)
- 前端控制器(DispatcherServlet)将ModelAndView传给视图解析器(ViewResolver)进行解析
- 视图解析器(ViewResolver)进行解析后返回具体的View
- 前端控制器(DispatcherServlet)对View进行渲染视图(即将模型数据填充至视图中)
- 前端控制器(DispatcherServlet)响应用户
SpringMVC的优点
- 可以支持各种视图技术
- 与Spring框架集成
- 角色分配清晰
- 支持各种请求资源的映射策略