MVC

一、介绍

MVC是模型-视图-控制器的缩写,一种软件思想,强制性的把应用程序的输入、处理和输出分开。可以和任何的重定向能解耦。

三部分的任务说明:

    • 视图:获取数据,显示数据
    • 模型:处理数据
    • 控制器:控制流程

二、主要作用

  • 封装请求参数到JavaBean;
  • 数据类型转换和验证;
  • 调用业务代码;
  • 返回数据;
  • 转向某一个页面的展示结果;

 三、处理过程

1、控制器接受用户的请求

2、控制器调用相应的模型进行业务处理

3、模型返回数据给控制器

4、控制器调用相应的视图来显示处理的结果,并且通过视图显示给用户

四、优缺点

1、优点

    • 低耦合:视图层和业务层分离,允许更改图层代码而不用重新编译模型和控制器代码,同样一个应用的业务流程或者业务规则的改动只需要改动MVC的模型层
    • 高重用和可适用:模型可以被不同的视图使用
    • 可维护:Java开发人员处理模型,界面开发人员处理视图

2、缺点

    • 不适用于小型程序
    • 较难理解其含义

五、图解

  

框架:MVC的更多相关文章

  1. python web框架 MVC MTV

    WEB框架 MVC Model View Controller 数据库 模板文件 业务处理 MTV Model Template View 数据库 模板文件 业务处理

  2. 第九十七天请假 PHP TP框架 MVC模式

    MVC : M->Model 模型(数据层)     V->View 视图(视图层)  C->Controller 控制器(逻辑层)            M : 操作数据(连接数据 ...

  3. 自己动手做Web框架—MVC+Front Controller

    在我前面一篇博文<逃脱Asp.Net MVC框架的枷锁,使用Razor视图引擎>发表之后,很多人关心,脱离了之后怎么办?那么这可以说是它的续篇了. 同时,这也是eLiteWeb开源软件的一 ...

  4. go区块链学习教程之iris框架mvc架构

    在Iris框架中,封装了mvc包作为对mvc架构的支持,方便开发者遵循mvc的开发原则进行开发. iris框架支持请求数据.模型.持久数据分层处理,并支持各层级模块代码绑定执行. MVC即:model ...

  5. web框架--MVC、MTV

    一.MVC框架: MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:[1] Model(模型)表示应用程序核心(比如数据库记 ...

  6. 客户端框架-MVC

    MVC Model-View-Controller MVC是比较直观的架构模式,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model( ...

  7. tp框架 MVC模式

    一.定义 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方 ...

  8. SpringMVC框架<mvc:default-servlet-handler/>的作用

    1.创建一个新工程 Eclipse下新建一个web项目,File>New>Dynamic Web Project     2.添加Jar包     3.配置Web.xml     4.配置 ...

  9. 一起写框架-MVC框架-基础功能-Date类型数据绑定(七)

    实现功能 表单请求传递的数据,格式为以下格式的日期时间数据. (1):yyyy-MM-dd hh:mm:ss (2):yyyy-MM-dd 执行方法可以使用Date类型接收. 实现思路 1.获得表单字 ...

  10. 认清Android框架 MVC,MVP和MVVM

    编者按:现在很多时候,我们都是面向搜索(或 Google 或百度).GitHub 编程,那么,在早期没有互联网的情况下,该如何学习编程,成为一名真正的开发者?亦或是作为一名小白,如何进入互联网编程时代 ...

随机推荐

  1. docker 基本操作

    # 常用命令   docker run 镜像   docker images 查看所有镜像   docke ps  查看运行中的容器 docker ps -a 列出所有容器     docker st ...

  2. PHP流程控制笔记

    一.运算符(Operator) 1.运算符 2.运算符分类   (1)按功能分   (2)按操作数个数分 3.按功能分   (1)算术运算符   (2)递增递减   (3)字符运算符   (4)赋值运 ...

  3. javascript使用误区(switch、this)

    1.switch 语句会使用恒等计算符(===)进行比较: 以下实例由于类型不一致不会执行 alert 弹窗: var x = "10"; switch(x) { case 10: ...

  4. bzoj2565: 最长双回文串 pam

    题意:找一个串中的最长连续两个回文子串长度 题解:建两个回文树,一个正着,一个反着,每次add之后last的长度就是后缀最长的回文串长度,然后两边加一遍即可 /******************** ...

  5. GIL(全局解释器锁)与互斥锁

    针对Cpython所拥有的GIL锁作用:由于Cpython解释器在运行python文件时, Cpython进程与其运行文件所产生的主进程是一个进程(文件进程相当于Cpython的一个线程) 线程的特点 ...

  6. IE的“浏览器模式”和“文档模式的区别”

    1.浏览器模式 用于切换IE针对该网页的默认文档模式.对不同版本浏览器的条件备注解析.发送给网站服务器的用户代理(User_Agent)字符串的值.网站可以根据浏览器返回的不同用户代理字符串判断浏览器 ...

  7. java把13位时间戳转换成"yyyy-MM-dd HH:mm:ss"格式,工具类

    public static void main(String[] args) { String time = System.currentTimeMillis();//获取当前时间精确到毫秒级的时间戳 ...

  8. RabbitMQ、Redis、Memcache

    Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...

  9. miniui 使用心得

    MiniUI demo实例使用心得:1.渲染速度很快2快速维护数据 3多种编辑方式 如 弹窗 直接下方显示form 下方显示tab 等4.树形 编辑 联动 5验证表单6文本框内 选择框 保存的多个选项 ...

  10. PinkEx专用图标