• 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";

    源码下载

  • 相关阅读:
    php多态
    ssl certificate problem: self signed certificate in certificate chain
    test plugin
    open specific port on ubuntu
    junit vs testng
    jersey rest service
    toast master
    use curl to test java webservice
    update folder access
    elk
  • 原文地址:https://www.cnblogs.com/hxlk/p/11631014.html
Copyright © 2020-2023  润新知