通过JavaWeb谈谈MVC设计模式

本文介绍了MVC(模型-视图-控制器)设计模式的基本概念及其组成部分:模型负责数据处理,视图提供用户界面,控制器作为二者之间的桥梁。通过一个简单的Java示例展示了MVC在实际应用中的工作流程。

从.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模型不会发生直接的交流,他们之间的桥梁就是控制器。通常,在动态网页中,控制器的作用往往是先获取到需要的数据,把数据保存好,跳转到目标页面之后再把数据取出来放在合适的位置。画个图简单表示一下这个过程。

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

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

 

这是一个基于JavaWeb的学生管理系统,采用了MVC设计模式MVC模式是一种软件设计模式,将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller)。在这个项目中,没有使用其他框架,而是采用了纯servlet+jsp来实现。 该系统的功能包括管理员、教师和学生三个角色。管理员可以管理学生信息,包括添加、删除和修改学生信息。教师可以查看学生信息,并进行一些教学管理操作。学生可以查看自己的信息,并进行选课等操作。 在这个系统中,主要的数据结构是学生的信息,包括姓名、性别、籍贯、QQ、邮箱等。这些信息可以作为学生的不同属性进行处理。 这个项目的具体实现可以参考以下步骤: 1. 创建一个JavaWeb项目,并配置好相关的环境。 2. 设计数据库表结构,包括学生表、教师表和管理员表,以及其他相关表。 3. 创建模型层(Model),包括学生、教师和管理员的实体类,以及与数据库交互的DAO类。 4. 创建视图层(View),包括学生信息展示页面、教师信息展示页面和管理员操作页面等。 5. 创建控制器层(Controller),处理用户的请求,调用相应的模型和视图进行处理。 6. 配置web.xml文件,将请求映射到相应的控制器。 7. 编写相应的servlet和jsp页面,实现具体的功能和界面展示。 8. 运行项目,测试各个功能是否正常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值