欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

通过JavaWeb谈谈MVC设计模式

程序员文章站 2022-04-02 10:42:09
...

从.net的学习开始,看过一点有关MVC的概念,但是在学校的实验室里没有接触过类似的项目,只是大概知道是一种设计模式,所以现在在学习Java Web的过程中,刚好把过去没有接触过的知识重新拿来好好学习一下,菜鸟一枚,有讲的不对的地方,还望大家轻喷。

MVC是模型(Model)、视图(View)、控制器(Controller)3个单词的缩写。那我们就先从MVC的这三个要素开始吧。

 1.模型(Model)

Model模型是指数据模型,是对客观数据的抽象。简单地说,这个模块负责对数据的处理。以MySQL为例,这个模块首先要实现连接数据库,再根据指令对数据库做出正确的操作。在Java中连接数据库有很多的方法,如直接通过jdbc连接或者通过一些封装好的工具类也是可以的。在此举一个简单的例子。

	public Book find(String id){             //根据书的ID查找图书
		try {
			QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
			String sql = "select * from book where id=?";
			return (Book)runner.query(sql, id, new BeanHandler(Book.class));
		} catch (SQLException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	}

这一小段代码主要的作用就是对数据库中的数据进行操作,有一点Java和SQL基础的应该都能大概看懂这段代码,我就不赘述这段代码的详细处理过程了。就算看不懂也不要紧,大家只要知道,Model主要是由一个一个这样的对数据进行处理的函数或者说是类组成的就行了。

2.视图(View)

View视图就是给用户看的用户界面,用户不是程序员,他们不懂业务逻辑,更不会对数据库进行直接操作,所以要给他们一个容易接受的页面,让他们能够实现一些合理的操作。对程序员来说,要把用户当做这个世上最调皮的人来看待,他们不会对我们程序员辛辛苦苦做的程序报半点敬畏之心,他们毫无耐心,不善等待,他们完全无视规定,输入他们想输入的任何数据,把程序搞得一团糟。因此,视图的作用非常重要,他们要像最耐心的客服人员,善于沟通(用户可以轻松地使用),细心(在用户输入不符规定的数据的时候善意提醒,而不是直接崩溃)。咱们在浏览器上直接可以看到的页面就是视图。

3.控制器(Controller)

Controller控制器是对程序进行控制的部分,上面的两个要素view视图和model模型不会发生直接的交流,他们之间的桥梁就是控制器。通常,在动态网页中,控制器的作用往往是先获取到需要的数据,把数据保存好,跳转到目标页面之后再把数据取出来放在合适的位置。画个图简单表示一下这个过程。

通过JavaWeb谈谈MVC设计模式

这个图的简单解释是当前jsp页面向控制器发出一个请求也就是request,控制器收到这个请求后通知模型处理数据,模型处理完数据后再跳转到下一个目标页面。

其实MVC模式也没什么特别的地方,就是将程序大概分成了三个不同的功能区域,每个区域分别负责特定的任务。在一般的面向对象的程序设计中,封装性也非常重要的一个特性,而MVC模式说白了无非是将封装性规范化了,固定为三个模块,在统一的标准规范下提高了项目的可读性,有利于项目的后期修改和维护。