MVC即Model,View,Controller。是一种框架模式,使应用程序的输入、处理、输出分开
2. 请求提交到前端控制器(DispatcherServlet),由处理器映射(HandlerMapping)解析用户的请求,决定交给哪个控制器(Controller)进行处理
3. DispatcherServlet 将请求提交到Controller,开始处理用户的请求
4. Controller调用处理类(xxService)处理用户的请求
5. Controller调用业务逻辑处理后,ModelAndView将处理的结果返回给DispatcherServlet
6. DispatcherServlet查询一个或多个ViewResolver视图解析器,找到ModelAndView指定的视图
7. DispatcherServlet将数据传给Model,Mode组装响应信息,传给View
8. View负责将结果显示到客户端
主要接口介绍
DispatcherServlet接口:
Spring提供的前端控制器,所有的请求都有经过它来统一分发。在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。
HandlerMapping接口:
能够完成客户请求到Controller映射。
Controller接口:
需要为并发用户处理上述请求,因此实现Controller接口时,必须保证线程安全并且可重用。
Controller将处理用户请求,这和Struts Action扮演的角色是一致的。一旦Controller处理完用户请求,则返回ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和视图(View)。
从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;从微观考虑,Controller是单个Http请求处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型(Model)和视图(View)。
ViewResolver接口:
Spring提供的视图解析器(ViewResolver)在Web应用中查找View对象,从而将相应结果渲染给客户。
- 重用性高
- 可维护性高
- 生命周期成本低
- 部署快
- 有利于软件工程化管理
缺点:
- 没有明确的定义
- 不适合小型、中等规模的应用程序
- 增加系统结构和实现的复杂性
- 视图与控制器间的过于紧密的连接
- 视图对模型数据的低效率访问
- 一般高级的界面工具或构造器不支持模式
MVC原理
2. 请求提交到前端控制器(DispatcherServlet),由处理器映射(HandlerMapping)解析用户的请求,决定交给哪个控制器(Controller)进行处理
3. DispatcherServlet 将请求提交到Controller,开始处理用户的请求
4. Controller调用处理类(xxService)处理用户的请求
5. Controller调用业务逻辑处理后,ModelAndView将处理的结果返回给DispatcherServlet
6. DispatcherServlet查询一个或多个ViewResolver视图解析器,找到ModelAndView指定的视图
7. DispatcherServlet将数据传给Model,Mode组装响应信息,传给View
8. View负责将结果显示到客户端
主要接口介绍
DispatcherServlet接口:
Spring提供的前端控制器,所有的请求都有经过它来统一分发。在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。
HandlerMapping接口:
能够完成客户请求到Controller映射。
Controller接口:
需要为并发用户处理上述请求,因此实现Controller接口时,必须保证线程安全并且可重用。
Controller将处理用户请求,这和Struts Action扮演的角色是一致的。一旦Controller处理完用户请求,则返回ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和视图(View)。
从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;从微观考虑,Controller是单个Http请求处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型(Model)和视图(View)。
ViewResolver接口:
Spring提供的视图解析器(ViewResolver)在Web应用中查找View对象,从而将相应结果渲染给客户。
MVC优缺点
优点
- 重用性高
- 可维护性高
- 生命周期成本低
- 部署快
- 有利于软件工程化管理
缺点:
- 没有明确的定义
- 不适合小型、中等规模的应用程序
- 增加系统结构和实现的复杂性
- 视图与控制器间的过于紧密的连接
- 视图对模型数据的低效率访问
- 一般高级的界面工具或构造器不支持模式