web网上考试系统

  • 格式:pdf
  • 大小:95.71 KB
  • 文档页数:2

web⽹上考试系统

每天记录学习,每天会有好⼼情。*^_^*

今天将为⼤家分析⼀个基于web的⽹上考试系统,采⽤当前⾮常流⾏的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库建⽴本系统。

基于web的⽹上考试系统项⽬使⽤框架为SSM(MYECLIPSE),选⽤开发⼯具为MYECLIPSE。基于web的⽹上考试系统为⼀个 后台项⽬。为了完成基于web的⽹上考试系统,我们⾸先需要对该系统进⾏需求分析。⼀个基于web的⽹上考试系统应包含⽤户⾓⾊有管理员、考⽣。为了能让⽤户顺利登陆系统完成相关操作,需要为每种登陆⾓⾊设置账户和密码字段。在系统的功能中,成绩是⼀个重要的表。这个表使得考⽣、考试关联了起来。在成绩表中成绩的考⽣与考⽣的mingzi字段对应、成绩的考⽣id与考⽣的id字段对应、成绩的考试与考试的mingcheng字段对应、成绩的考试id与考试的id字段对应,他们拥有关联关系。

总结得出基于web的⽹上考试系统项⽬所有数据为:管理员(admin)、考⽣(kaosheng)、考试(kaoshi)、成绩(chengji)、题⽬(timu)

基于web的⽹上考试系统之管理员表

字段名 | 类型 | 属性 | 描述id | INT(11) | PRIMARY KEY | 管理员idusername | VARCHAR(255) | | 账号password | VARCHAR(255) | | 密码

基于web的⽹上考试系统之考⽣表

字段名 | 类型 | 属性 | 描述id | INT(11) | PRIMARY KEY | 考⽣idmingzi | VARCHAR(255) | | 名字username | VARCHAR(255) | | 账号password | VARCHAR(255) | | 密码nianling | VARCHAR(255) | | 年龄

基于web的⽹上考试系统之考试表

字段名 | 类型 | 属性 | 描述id | INT(11) | PRIMARY KEY | 考试idmingcheng | VARCHAR(255) | | 名称kemu | VARCHAR(255) | | 科⽬shijian | VARCHAR(255) | | 时间didian | VARCHAR(255) | | 地点

基于web的⽹上考试系统之成绩表

字段名 | 类型 | 属性 | 描述id | INT(11) | PRIMARY KEY | 成绩idkaosheng | VARCHAR(255) | | 考⽣kaoshengid | VARCHAR(255) | | 考⽣idkaoshi | VARCHAR(255) | | 考试kaoshiid | VARCHAR(255) | | 考试idfenshu | VARCHAR(255) | | 分数

基于web的⽹上考试系统之题⽬表

字段名 | 类型 | 属性 | 描述id | INT(11) | PRIMARY KEY | 题⽬idbiaoti | VARCHAR(255) | | 标题neirong | VARCHAR(255) | | 内容cankaodaan | VARCHAR(255) | | 参考答案

SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ ------------------------------ Table structure for ggjywebdwsksxt-- ----------------------------DROP TABLE IF EXISTS `t_admin`;CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '管理员id',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` VARCHAR(255) DEFAULT NULL COMMENT '密码',PRIMARY) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='管理员';-- ----------------------------DROP TABLE IF EXISTS `t_kaosheng`;CREATE TABLE `t_kaosheng` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '考⽣id',`mingzi` VARCHAR(255) DEFAULT NULL COMMENT '名字',`username` VARCHAR(255) DEFAULT NULL COMMENT '账号',`password` ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='考⽣';-- ----------------------------DROP TABLE IF EXISTS `t_kaoshi`;CREATE TABLE `t_kaoshi` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '考试id',`mingcheng` VARCHAR(255) DEFAULT NULL COMMENT '名称',`kemu` VARCHAR(255) DEFAULT NULL COMMENT '科⽬',`shijian` VARCHAR) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='考试';-- ----------------------------DROP TABLE IF EXISTS `t_chengji`;CREATE TABLE `t_chengji` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '成绩id',`kaosheng` VARCHAR(255) DEFAULT NULL COMMENT '考⽣',`kaoshengid` INT(11) DEFAULT NULL COMMENT '考⽣id',`kaoshi` VARCHAR) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='成绩';-- ----------------------------DROP TABLE IF EXISTS `t_timu`;CREATE TABLE `t_timu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '题⽬id',`biaoti` VARCHAR(255) DEFAULT NULL COMMENT '标题',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',`cankaodaan` VARCHAR) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='题⽬';

添加题⽬模块:

通过添加题⽬模块,可以完成题⽬的添加操作。在页⾯中跳转到添加题⽬页⾯,输⼊题⽬的所有信息,点击添加操作,可以将题⽬数据以post提交到timuController中。题⽬所包含的字段信息包括标题,内容,参考答案。在timuController中通过定义timu接受所有的题⽬参数。使⽤timudao的insert⽅法将timu实体插⼊到数据库中。完成数据的添加操作,在timuMapper中匹配对应的timuxml完成插⼊sql语句的执⾏操作。该部分核⼼代码如下:

通过timudao的insert⽅法将页⾯传输的题⽬添加到数据库中 timudao.insert(timu);

将添加题⽬成功信息,保存到request的message中,在页⾯中给出⽤户提⽰ request.setAttribute("message", "添加题⽬成功");

返回题⽬管理界⾯return "forward:/tianjiatimu.action";

查询题⽬模块:

在后台中定义题⽬查询模块,在侧边栏中点击题⽬管理,可以跳转到题⽬管理界⾯。在该页⾯中通过timuController中定义timuguanli响应题⽬查询模块。在timuguanli中查询出所有信息,返回页⾯进⾏循环展⽰。查询⽅法为timudao中的selectByexample⽅法。该部分核⼼代码如下:

⽣成题⽬样例类,通过example定义查询条件 TimuExample example = new TimuExample();

通过timudao的selectByExample⽅法查询出所有的题⽬信息 List timuall = timudao.selectByExample(example);

将题⽬信息,保存到request中,在页⾯通过foreach⽅法进⾏展⽰ request.setAttribute("timuall", timuall);

返回题⽬管理界⾯return "forward:/timuguanli.action";

修改题⽬模块:

点击修改按钮,可以跳转到题⽬修改页⾯。在题⽬修改页⾯中,将初始化该题⽬的所有信息,并将信息⼀⼀对应填充到对应编辑栏中。编辑完题⽬信息后,页⾯通过post⽅法将数据封装为⼀个题⽬实体,传⼊到timuController中。在xiugaitimu中进⾏接收,接收完毕后,调⽤timuMapper中的updateByPrimaryKeySelective⽅法进⾏修改。该部分代码如下:

通过timudao的修改⽅法根据id修改对应的题⽬ timudao.updateByPrimaryKeySelective(timu);

将修改题⽬成功信息,保存到request的message中,在页⾯中给出⽤户提⽰ request.setAttribute("message", "修改题⽬信息成功");

返回题⽬管理界⾯return "forward:/timuguanli.action";

删除题⽬模块:

在页⾯中通过a标签,shanchutimu?id=将id传⼊到后台中,通过shanchutimu接收题⽬id。使⽤deleteByid的⽅法

删除该题⽬,完成删除操作。定义删除成功提⽰信息,删除题⽬成功,并保存到request中,该部分代码如下:

通过timudao的删除⽅法根据id删除对应的题⽬ timudao.deleteByPrimaryKey(id);

将删除题⽬成功信息,保存到request的message中,在页⾯中给出⽤户提⽰ request.setAttribute("message", "删除题⽬成功");

返回题⽬管理界⾯return "forward:/timuguanli.action";