一,什么是MVC

首先先来看张图:

首先,宏观上说,使用MVC还是为了分层,就像以前三层架构一样,只不过三层架构更多关注于将业务和数据分开,而MVC则更关注与界面的展现部分,因为在Web开发中,界面是比较容易变动的,所以,按照设计模式的原则,容易变动的部分就应该抽出来,在整体架构设计中,这一点一直是被遵循的。在整体上,我们将整体上容易变动的部分抽成一层,让各层之间各自变化来达到解耦的目的。

然后,我们看MVC是如何分离界面和数据的:

在MVC中,Model负责程序的业务代码和对数据操作的代码,而Views负责界面的展现,用户的输入输出,Views里面与用户的交互逻辑放到了Controller里面,所以Controller自然成了连接Model和Views的桥梁。

二,传统Web VS  MVC 访问过程

还是图解吧:

先看传统Web:

MVC访问:

如上图,可以看出,传统Web方式在处理用户访问请求时是创建页面对象,执行load方法;而在MVC方式中,用户因为在路由中做了配置:

(    如果没有配置,会按照默认的来),所以用户请求的时候,会创建controller类的对象,并调用相应的返回view的方法,这时候在应用程序的目录结构上看,就会看到Views文件夹下的某个cshtml被返回。

MVC入门(一)——什么是MVC及其处理方式相关推荐

  1. 简单的Spring MVC入门程序,对于Spring mvc工作流程的理解,servlet标签和servlet-mapping 理解,视图解析器

    javaweb SpringMvc的组成:jsp,JavaBean,servlet 可以使用Spring所提供的功能 提供了前端控制器DispatcherServlet,不需要细化Servlet 执行 ...

  2. ASP.NET MVC入门(二)---MVC数据传递

    先来看一个简单的从Model到View传递数据的例子. 1.Model 在Models文件夹下新建一个类: using System; using System.Collections.Generic ...

  3. ASP.NET MVC入门(一)---MVC的Hello World

    简单的MVC Hello world,着重处理Controller. Step1 创建一个Asp.Net MVC 5项目 打开Visual studio 2013 点"文件"-&g ...

  4. Spring MVC入门

    1.Spring Web MVC是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解 ...

  5. ASP.NET MVC入门到精通——Spring.net-业务层仓储

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 上一节,我们已经把项目框架的雏形搭建好了,那么现在我来开始业务实现,在业务实现的过程当中,不断的来完善我们现有的框架. 1.假设我们来做一个 ...

  6. Spring MVC 入门--Hello World

    Spring MVC 学习 Hello world 步骤 添加jar包 在web.xml文件中配置DispatcherServlet 添加Spring MVC的配饰文件 编写处理请求的处理器,并且标识 ...

  7. ASP.NET MVC 入门8、ModelState与数据验证

    ViewData有一个ModelState的属性,这是一个类型为ModelStateDictionary的ModelState类型的字典集合.在进行数据验证的时候这个属性是比较有用的.在使用Html. ...

  8. ASP.NET MVC 入门系列教程

    一个居于ASP.NET MVC Beta的系列入门文章,有朋友提议说写一个示例程序来同步讲解,那样更加容易学习.所以就写选择了写一个Blog程序来作为示例程序.(原来是居于ASP.NET MVC Pr ...

  9. springmvc的主要功能_Spring MVC入门

    今天开始我们对Spring MVC框架的入门介绍,如果说是基础入门我们会先给大家介绍如下几个技术内容 理解Spring MVC工作流程 快速搭建Spring MVC 详细介绍@RequestMappi ...

  10. Spring MVC入门 —— 跟开涛学SpringMVC

    2014-05-14 23:22:27 第二章 Spring MVC入门 -- 跟开涛学SpringMVC  浏览(84979)|评论(12)   交流分类:Java|笔记分类: 跟开涛学Spring ...

最新文章

  1. [Python]Python操作/管理Mysql学习(一)
  2. 裁剪(Clipping)-Window GDI
  3. Struts2理解——转发和重定向
  4. modprobe: FATAL: Module xxx.ko not found in directory /lib/modules/$(uname -r)
  5. js的eval代码快速解密
  6. 209. 长度最小的子数组
  7. 基于人脸识别的课堂签到管理系统(五)---启动/结束签到,以及在百度智能云创建用户组
  8. [Luogu] 树状数组
  9. Python之shp文件
  10. 常用的数据库增删改查语句
  11. 小红书“种草”潮玩,但“醉翁之意不在酒”
  12. 串口转以太网服务器市场现状研究分析与发展前景预测报告
  13. 第二章 编程初步 Ivor Horton
  14. java cms 垃圾回收_了解Java垃圾自动回收
  15. matlab 图像分割库,图像分割Matlab代码
  16. 机器学习实用代码汇总(你想要的这里都有)
  17. CandidateScorer
  18. 2021天梯赛L1-074 两小时学完C语言 题解
  19. python数据采集及可视化
  20. myrio与fpga编程_myRIO入门实验指导书

热门文章

  1. SQLSERVER 日期时间转换
  2. C# System.IO.IOException HResult=0x8007000D Message=数据无效。解决办法
  3. Linux挂载exFat格式U盘的方法
  4. Java水果商店课程设计展望,JavaWeb课程作业之网上水果商店.zip
  5. mutations的类型常量
  6. Java 中的对象池实现
  7. ESP32-CAM调试过程纪要
  8. 前端工程师养成-笔记02(span标签,标题标签,图像标签)
  9. android 无法绑定 1024 以下端口
  10. 哪怕仅仅是一点微光_励志故事