zoukankan      html  css  js  c++  java
  • 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 | 管理员id
    username | VARCHAR(255) | | 账号
    password | VARCHAR(255) | | 密码

    基于web的网上考试系统之考生表

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

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

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

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

    字段名 | 类型 | 属性 | 描述
    id | INT(11) | PRIMARY KEY | 成绩id
    kaosheng | VARCHAR(255) | | 考生
    kaoshengid | VARCHAR(255) | | 考生id
    kaoshi | VARCHAR(255) | | 考试
    kaoshiid | VARCHAR(255) | | 考试id
    fenshu | VARCHAR(255) | | 分数

    基于web的网上考试系统之题目表

    字段名 | 类型 | 属性 | 描述
    id | INT(11) | PRIMARY KEY | 题目id
    biaoti | 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 KEY (`id`)
    
    ) 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` VARCHAR(255) DEFAULT NULL COMMENT '密码',`nianling` VARCHAR(255) DEFAULT NULL COMMENT '年龄',PRIMARY KEY (`id`)
    
    ) 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(255) DEFAULT NULL COMMENT '时间',`didian` VARCHAR(255) DEFAULT NULL COMMENT '地点',PRIMARY KEY (`id`)
    
    ) 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(255) DEFAULT NULL COMMENT '考试',`kaoshiid` INT(11) DEFAULT NULL COMMENT '考试id',`fenshu` VARCHAR(255) DEFAULT NULL COMMENT '分数',PRIMARY KEY (`id`)
    
    ) 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(255) DEFAULT NULL COMMENT '参考答案',PRIMARY KEY (`id`)
    
    ) 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";

    源码下载

  • 相关阅读:
    java位运算
    AmCharts realtime flush example //add by liuwei 20120929
    配置Linux—LVS (DR)
    LVS(Linux Virtual Server) 学习笔记
    一个由sizeof引出的有意思的问题
    关于IsDebuggerPresent
    我的第一个python程序
    听Robert C. Richardson的报告会很失望
    杯具了,为啥不去tencent的实习生招聘呢
    通过信号量机制解决生产者消费者问题的模拟程序
  • 原文地址:https://www.cnblogs.com/hxlk/p/11631014.html
Copyright © 2011-2022 走看看