Web开发(三)--MVC设计模式

在J2EE中,有很多组件,这些组件针对不同的功能,通过选择合适的组件,可以构建开发项目,简化开发。

一些常用的组件:

beanutils: 对java bean进行操作

dbcp:数据库连接池

dbutils:对数据库操作

fileupload:文件的上传与下载

logging:日志

hibernate:面向对象的方式对数据表进行操作

jbpm:业务流程管理 Java Business Process Management

J2EE开发流程:

1)使用Servlet:

客户端<--请求/响应-->服务器<--调用/显示-->Servlet<--访问-->数据库

这样使用Servlet的开发流程有两个缺陷:

① Servlet不擅长显示

② Servlet中对数据库访问的代码,重用性低

2)使用JSP

客户端<--请求/响应-->服务器<--调用/显示-->JSP<--访问-->数据库

使用JSP虽然解决了显示的问题,但是也有两个缺陷:

① JSP页面中需要写大量的Java代码,显示奇怪,维护麻烦,不如直接维护Java类简单

② Jsp中对数据库以及业务逻辑的代码不能很好的重用

基于这样的问题,衍生出MVC设计模式

1、MVC设计模式


如图所示,Servlet作为控制器,请求收到之后,调用POJO(普通JavaBean)对数据库进行访问,得到数据返回给Servlet,

将数据转发给JSP页面,JSP页面可以使用JSTL(JSP 标准标签库 JSP Standard Tag Library)作为显示。

MVC:Model 模型, View 视图, Controller控制器

M:模型,应用程序的主体部分,负责业务数据和业务逻辑;一个模型可以为多个视图提供数据;可重用性高。

V:视图,用户看到并与之交互的界面,向用户显示数据;接收用户的数据;不进行任何实际的业务处理

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

上图中:Servlet作为C控制器,POJO与数据库作为M模型,JSP作为V视图

2、案例之查询

功能实现:用户在页面是点击ListAllExamStudent超链接,页面跳转到student.jsp页面,在该页面显示出所有学生的考试信息。
MVC设计:

各模块实现代码:
//....暂时简略
关于转发和重定向的选择:
若目标响应页面不需要从request中读取任何值,则可以使用重定向。(还可以防止表单的重复提交)
需要注意的地方:
1. 应该使用数据库连接池、DBUtils,JDBCUtils等等工具类,DAO基类
2. 一个模块对应一个Servlet,即多个请求对应一个Servlet (一个请求对应一个Servlet,导致Servlet类过多,不好维护)
3. 使用JQuery增加页面提示


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值