JavaWeb之MVC设计模式

本文介绍了MVC模式的核心概念,包括模型、视图和控制器的作用,以及它们如何通过分离显示层和逻辑控制层来提高程序的复用性和可维护性。同时讨论了传统设计模式的局限性,并展示了MVC模式如何解决这些问题。

 

了解MVC模式之前,我们先来看下面两种设计模式:

 

模式一:

 



 

 

模式二:

 



 

 以上两种模式的缺点:

模式一:页面的显示使用servlet实现时,需要大量的拼接html字符串,不直观,效率低。

模式二:逻辑处理代码卸载jsp页面中,不易调试,且代码耦合度高,不易重用。

 

为了解决以上缺点,我们采用下图的MVC模式:

 



 采用此模式,让jsp仅负责显示,让servlet负责如何处理请求,调用那个业务逻辑处理请求,业务逻辑处理后采用哪个jsp页面显示。jsp和servlet各自发挥自己的长处,显示层于逻辑控制层解耦,程序的复用性增强。

 

MVC的概念

 

MVC是Model-View-Controller的简称,即模型-视图-控制器。

MVC是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。

 

模型(model)

 

模型是应用程序的主体部分,模型表示业务数据和业务逻辑。

一个模型能为多个视图提供数据。

由于应用于模型的代码只需写一次就可以被多个视图重用,所以提高了代码的可重用性。

 

视图

 

视图是用户看到并与之交互的界面,作用如下:

视图向用户显示相关的数据。

接受用户的输入。

不进行任何实际的业务处理。

 

控制器

 

控制器接受用户的输入并调用模型和视图去完成用户的需求。

控制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。

 

关于 MVC

M: Model. Dao

V: View. JSP, 在页面上填写 Java 代码实现显示

C: Controller. Serlvet: 

受理请求

获取请求参数

调用 DAO 方法

可能会把 DAO 方法的返回值放入 request 中

转发(或重定向)页面

什么时候转发,什么时候重定向 ? 若目标的响应页面不需要从 request 中读取任何值,则可以使用重定向。(还可以防止表单的重复提交)

不足:

使用数据库连接池,DBUtils,JDBCUtils 工具类,DAO 基类

一个请求一个 Serlvet 不好!一个模块使用一个 Serlvet,即多个请求可以使用一个 Servlet 

在页面上加入 jQuery 提示

 

 

 

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

余额充值