zoukankan      html  css  js  c++  java
  • 【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的简单实例,敬请期待。

  • 相关阅读:
    jQuery Eazyui的学习和使用(一)
    PHP 红包功能代码
    PHPExcel 使用学习
    AngularJS 学习笔记
    sublime 快速生成html基础代码
    mysql 重置主键
    php 常用文件操作
    Android隐藏状态栏实现沉浸式体验
    MVC
    安卓Design包之NavigationView结合DrawerLayout,toolbar的使用,FloatingActionButton
  • 原文地址:https://www.cnblogs.com/ainima/p/6330952.html
Copyright © 2011-2022 走看看