码迷,mamicode.com
首页 > 编程语言 > 详细

​Spring MVC介绍

时间:2015-05-31 18:42:02      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:springmvc mvc 模型 控制器 视图


Spring MVC


1.  MVC

MVC思想是将系统的各个组件进行分类,不同的组件扮演不的角色。然后将系统中的各个组件分离到不同的层中,这些组件被严格限制在其所在层内。同层中组件应该保持内聚性,且大致处于同一抽象级别,而各层之间则以松耦合的方式组合在一起,从而保证了良好的封装性。MVC将一个应用的输入、处理和输出安装Model(模型)、View(视图)和Controller(控制器)三部分进行分离,这样一个应用就可以划分为模型层、视图层和控制层。3个层之间以最小的耦合来协同工作,从而提高了应用系统的可扩展性和维护性。

Model(模型)。模型层代表的数据和业务逻辑,它控制着对数据的处理和更新,一般情况下业务处理的过程对于视图层和控制层都是黑箱操作,模型层接受视图的请求数据,并返回最终的处理结果去更新视图层。

View(视图)。视图层其实就是模型层各个模型的具体表现形式,它通过得到数据,然后再根据需求来显示他们。虽然视图层不对数据进行处理,但是他传输到控制层的数据需和模型层的数据类型一致,即是模型数据发生变化时,视图层也随之变化。

Controller(控制器)。控制层在MVC模式中连接视图层和模型层,它就是将视图层的交互信息进行过滤等处理之后,在传送到模型层相应的业务逻辑处理程序进行处理。在WEB应用中,视图层先给控制层发生消息请求(GET、POST..),控制层接收到请求之后不做任何处理,而是把请求消息传递给模型做业务处理。最终根据模型层产生的结果。控制层给浏览器(用户)更新相应的视图显示。

 

技术分享

图2-5  MVC三层关系


  2.  MVC特点

(1)低耦合性。架构分为三层,降低了各层之间的额耦合,易于程序的可扩展性和维护性。

(2)一模多视。一个模型可以对应多个视图,提高了代码的可维护性,一旦模型发生变化,方便修改程序。

(3)分离性。模型返回的数据与现实分离,返回的数据可以选用任何一种显示技术,各层之间只负责自己的任务。


  3.  Spring MVC 

Spring MVC顾名思义也是MVC,只是它是建立在Spring基础之上。如图2-6所示。

 

技术分享

图2-6  Spring MVC原理图

Spring MVC的工作流程:

(1)客户端(浏览器)向Spring发起请求。

(2)请求被前端控制器(DispatcherServlet)所拦截,再寻找相应的映射处理器(Handle Mapping)来处理这次请求。

(3)DispatcherServlet根据Handle Mapping选择某个的控制器(Controller)。

(4)确定具体的Controller之后,DispatcherServlet将请求传递给已选择的控制器,该控制器处理请求,并将处理的最终结果返回给DispatcherServlet。

(5)DispatcherServlet使用视图解析器(ViewResolver)解析接收到的模型数据,并确定要返回的逻辑视图名。

(6)DispatcherServlet根据视图名找到相应的视图并返回给客户端(浏览器)。

 

    


本文出自 “你是ITer为bug而活” 博客,请务必保留此出处http://king2.blog.51cto.com/8746235/1656828

​Spring MVC介绍

标签:springmvc mvc 模型 控制器 视图

原文地址:http://king2.blog.51cto.com/8746235/1656828

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!