【SpringMVC架构】SpringMVC介绍(一)

在写这篇博文之前,先简单说一下写这个系列博文的原因,说白了矫情一下,原因有二。

  1. 博主曾经写过一篇[SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载](http://blog.csdn.net/jiuqiyuliang/article/details/45132493)的文章,简单易懂,但是对于没有接触过SpringMVC框架的博友来说,还是有一定难度的。
  2. 并且在上篇博文中,有博友留言,希望:有时间把教程完善一下。有图为证:
    这里写图片描述
    当然,也非常感谢这位博友的关注和支持,下面我们开始今天的内容。

这篇博文,我们主要介绍什么是SpringMVC,以及重新解释一下什么是MVC,以及MVC的详细执行步骤。

什么是SpringMVC?

在介绍SpringMVC之前,我们先看一张非常熟悉的图:
这里写图片描述
相信看这篇文章的博友都听说或者使用过Spring,并且我之前的文章也详细的讲解了Spring的整体框架,以及IOCAOPHibernateMybatis等框架,JMS等等,同样Spring自己也支持对DAO层的开发,甚至对于最后一个Web模块,我们也使用过Struts,以及JSP等等。

到底什么是SpringMVC:
1. 从上面的图中,Web模块第一个就是Spring Web MVC,其实SpringMVC是Spring框架的一个模块,我们可以从Spring的整体结构中看出来。
2. Springmvc和Struts1.x,2.x都属于表现层的框架,是基于mvc的web框架。

基于MVC的web框架,看上去挺高大上的,不用害怕,下面我们介绍一下什么是MVC。

什么是MVC?

在介绍Struts的时候,我们已经简单的介绍过MVC,当时理解的比较浅,这次我们深入的介绍一下MVC。

说白了,mvc就是一个设计模式,最简单的web界面开发,我们直接写一个jsp页面就完事了,但是现在将web端分成了三层,全名是Model View Controller,是模型(model)—视图(view)—控制器(controller)的缩写,目的是为了系统的框架,分层更加清晰,可扩展性更强,降低系统的耦合度。

既然MVC是一个设计模式,当然既可以在C/S(客户端服务器)模式下使用,也可以在B/S(浏览器服务器)模式下使用。下面我们介绍在B/S模式下的应用,如下所示:
这里写图片描述

下面我们再根据这张图详细的讲解一下MVC的执行步骤,以及各部分的作用:

MVC执行步骤
  1. 用户发起Request请求至控制器(Controller),控制器接收用户的请求,并将请求委托给模型进行处理。
  2. 控制器请求模型(Model),模型处理业务数据并得到处理结果,模型通常是指业务逻辑,包括Pojo、Service、Dao等三层
  3. 模型将处理结果返回给控制器
  4. 控制器将模型数据在视图(View)中展示
    说明:web中模型无法将数据直接在视图上显示,需要通过控制器完成。如果在C/S应用中模型是可以将数据在视图中展示的。
  5. 控制器将视图响应结果,Response响应给用户,通过视图展示给用户数据或者处理结果。
MVC各部分的作用

我们知道了MVC的执行步骤,我们简单的总结一下MVC各部分的作用:
1. Controller的作用
封装web请求为一个数据对象、调用业务逻辑层来处理数据对象、返回处理数据结果及相应的视图给用户。
2. Model的作用
处理业务数据,并返回处理结果
3. View的作用
渲染视图,并将数据或处理结果展示给用户

总结

这篇博文我们知道了,什么是SpringMVC,以及更加深入的介绍了MVC,相信大家对MVC有了深入的理解。

下篇博文,我们做一个SpringMVC的简单实例,敬请期待。

posted on 2015-07-29 00:01  爱你一万年123  阅读(150)  评论(0编辑  收藏  举报

导航