SpringMVC工做流程

struts2与SpringMVC的区别前端

1) SpringMVC的入口时是servlet即前端控制器struts2的入口是filter过滤器web

2) SpringMVC是基于方法进行开发的(一个URL对应一个方法),请求参数传递到方法的形参,能够设计为单例或多例;Struts2是基于Action类开发的,传递参数是经过类的属性,只能设计为多例后端

3) Struts2采用值栈存储数据和响应的数据,经过OGNL存取数据;SpringMVC经过参数解析器是将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelandView对象,最后又将ModelandView中的模型数据经过request域传输到页面。jsp视图解析器默认使用jstl设计模式

SpringMVC工做流程架构

SpringMVC简介app

SpringMVC是一种基于Spring实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,使用了MVC架构模式的思想,将web层进行职责解耦,并管理应用所需对象的生命周期,为简化平常开发,提供了很大便利。框架

SpringMVC组件jsp

DispatcherServlet(前端控制器):做为前端控制器,整个流程控制的中心,控制其它组件执行,统一调度,下降组件之间的耦合性,提升每一个组件的扩展性。spa

Handler Mapping(处理器映射器):经过扩展处理器映射器实现不一样的映射方式,例如:配置文件方式,实现接口方式,注解方式等。 设计

Handler Adapter(处理器适配器):经过扩展处理器适配器,支持更多类型的处理器。

View Resolver(视图解析器):经过扩展视图解析器,支持更多类型的视图解析,例如:jsp、freemarker、pdf、excel等。

SpringMVC简介工做流程

 

  1. 用户发送请求至前端控制器DispatcherServlet。
  2. DispatcherServlet收到请求调用HandlerMapping处理器映射器。
  3. 处理器映射器找到具体的处理器(能够根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(若是有则生成)一并返回给DispatcherServlet。
  4. DispatcherServlet调用HandlerAdapter处理器适配器。
  5. HandlerAdapter通过适配调用具体的处理器(Controller,也叫后端控制器)。
  6. Controller执行完成返回ModelAndView。
  7. HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。
  8. DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
  9. ViewReslover解析后返回具体View。
  10. DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
  11. DispatcherServlet响应用户。
相关文章
相关标签/搜索