Javaweb中的MVC设计模式

一、MVC设计模式

图片来自于网络
MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。
MVC模式最早为Trygve Reenskaug提出,为施乐帕罗奥多研究中心(Xerox PARC)的Smalltalk语言发明的一种软件设计模式。
MVC可对程序的后期维护和扩展提供了方便,并且使程序某些部分的重用提供了方便。而且MVC也使程序简化,更加直观。

  • 控制器Controller:对请求进行处理,负责请求转发;
  • 视图View:界面设计人员进行图形界面设计;
  • 模型Model:程序编写程序应用的功能(实现算法等等)、数据库管理;

注意,MVC不是Java的东西,几乎现在所有B/S结构的软件都采用了MVC设计模式。但是要注意,MVC在B/S结构软件并没有完全实现,例如在我们今后的B/S软件中并不会有事件驱动!

二、JavaWeb与MVC

JavaWeb的经历了JSP Model1、JSP Model1二代、JSP Model2三个时期。

2.1 JSP Model1第一代

JSP Model1是JavaWeb早期的模型,它适合小型Web项目,开发成本低!Model1第一代时期,服务器端只有JSP页面,所有的操作都在JSP页面中,连访问数据库的API也在JSP页面中完成。也就是说,所有的东西都耦合在一起,对后期的维护和扩展极为不利。
在这里插入图片描述

2.2 JSP Model1第二代

JSP Model1第二代有所改进,把业务逻辑的内容放到了JavaBean中,而JSP页面负责显示以及请求调度的工作。虽然第二代比第一代好了些,但还让JSP做了过多的工作,JSP中把视图工作和请求调度(控制器)的工作耦合在一起了。
在这里插入图片描述

2.3 JSP Model2

JSP Model2模式已经可以清晰的看到MVC完整的结构了。

  • JSP:视图层,用来与用户打交道。负责接收用来的数据,以及显示数据给用户;
  • Servlet:控制层,负责找到合适的模型对象来处理业务逻辑,转发到合适的视图;
  • JavaBean:模型层,完成具体的业务工作,例如:开启、转账等。
    在这里插入图片描述

JSP Model2适合多人合作开发大型的Web项目,各司其职,互不干涉,有利于开发中的分工,有利于组件的重用。但是,Web项目的开发难度加大,同时对开发人员的技术要求也提高了。

三、JavaWeb经典三层框架

我们常说的三层框架是由JavaWeb提出的,也就是说这是JavaWeb独有的!
所谓三层是表述层(WEB层)、业务逻辑层(Business Logic),以及数据访问层(Data Access)。

  • WEB层:包含JSP和Servlet等与WEB相关的内容;
  • 业务层:业务层中不包含JavaWeb API,它只关心业务逻辑;
  • 数据层:封装了对数据库的访问细节;

注意,在业务层中不能出现JavaWeb API,例如request、response等。也就是说,业务层代码是可重用的,甚至可以应用到非Web环境中。业务层的每个方法可以理解成一个万能,例如转账业务方法。业务层依赖数据层,而Web层依赖业务层!
在这里插入图片描述

这是一个基于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、付费专栏及课程。

余额充值