zoukankan      html  css  js  c++  java
  • 基于SSM框架的JAVA题库专家系统

    今天将为大家分析一个题库专家系统(在教育部门,为考核学生的学习情况,每年/学期都要进行各种各样的练习和考试,因此,出题工作成为教师的主要任务之一。当前的出题工作往往还停留在主观命题和手工操作阶段,存在着两个主要缺陷:一是教师凭经验出题,因此试题的难易程度、试题份量及题目的覆盖性不易保证。本文讨论并实现了一种基于知识的题库生成专家系统,它将有关题库的专门知识存入知识库后,系统即可自动生成题库。该系统为用户提供了一个智能型题库开发环境,对开发各类题库系统均有极大的应用价值。),该项目使用框架为SSM(MYECLIPSE),选用开发工具为MYECLIPSE。题库专家系统为一个 后台项目。
    为了完成该系统,我们首先需要对该系统进行需求分析。一个题库专家系统应包含用户角色有管理员、用户。为了能让用户顺利登陆系统完成相关操作,需要为每种登陆角色设置账户和密码字段。

    总结得出该系统所有数据为:管理员(admin)、用户(yonghu)、专业(zhuanye)、试题(shiti)

    管理员表

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

    用户表

    字段名 | 类型 | 属性 | 描述
    id | INT(11) | PRIMARY KEY | 用户id
    xingming | VARCHAR(255) | | 姓名
    zhiwu | VARCHAR(255) | | 职务
    quanxian | VARCHAR(255) | | 权限
    username | VARCHAR(255) | | 账号
    password | VARCHAR(255) | | 密码

    专业表

    字段名 | 类型 | 属性 | 描述
    id | INT(11) | PRIMARY KEY | 专业id
    jingguan | VARCHAR(255) | | 经管
    ruanjiangongcheng | VARCHAR(255) | | 软件工程
    dianzixinxi | VARCHAR(255) | | 电子信息

    试题表

    字段名 | 类型 | 属性 | 描述
    id | INT(11) | PRIMARY KEY | 试题id
    zhonglei | VARCHAR(255) | | 种类
    leixing | VARCHAR(255) | | 类型
    neirong | VARCHAR(255) | | 内容
    SET FOREIGN_KEY_CHECKS=0;
    
    -- ----------------------------
    
    -- ----------------------------
    
    -- Table structure for ggtikuzhuanjiaxt
    
    -- ----------------------------
    
    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_yonghu`;
    
    CREATE TABLE `t_yonghu` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',`xingming` VARCHAR(255) DEFAULT NULL COMMENT '姓名',`zhiwu` VARCHAR(255) DEFAULT NULL COMMENT '职务',`quanxian` VARCHAR(255) DEFAULT NULL COMMENT '权限',`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_zhuanye`;
    
    CREATE TABLE `t_zhuanye` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '专业id',`jingguan` VARCHAR(255) DEFAULT NULL COMMENT '经管',`ruanjiangongcheng` VARCHAR(255) DEFAULT NULL COMMENT '软件工程',`dianzixinxi` VARCHAR(255) DEFAULT NULL COMMENT '电子信息',PRIMARY KEY (`id`)
    
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='专业';
    
    -- ----------------------------
    
    DROP TABLE IF EXISTS `t_shiti`;
    
    CREATE TABLE `t_shiti` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '试题id',`zhonglei` VARCHAR(255) DEFAULT NULL COMMENT '种类',`leixing` VARCHAR(255) DEFAULT NULL COMMENT '类型',`neirong` VARCHAR(255) DEFAULT NULL COMMENT '内容',PRIMARY KEY (`id`)
    
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='试题';

    添加专业模块:

    从页面中通过post方法,将专业信息传入到后台服务器中,在tianjiazhuanyeact

    中接收,字段包括经管,软件工程,电子信息使用insert方法添加数据,将数据同步到

    数据库中,完成添加操作。定义添加成功提示信息,添加专业成功,并保存到request中具体代码如下:

    通过zhuanyedao的insert方法将页面传输的专业添加到数据库中 zhuanyedao.insert(zhuanye);

    将添加专业成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加专业成功");

    返回专业管理界面

    return "forward:/tianjiazhuanye.action";

    查询专业模块:

    专业的查询模块实现方式为,在页面中发起zhuanyeguanli.action请求。通过该请求,响应服务器zhuanyeController类中的zhuanyeguanli,在该方法中通过selectByexample进行数据的查询操作。将所有的专业信息查询后,保存到request中的zhuanyeall中,在页面中进行展示,返回zhuanyeguanli.jsp,该部分核心代码如下所示:

    生成专业样例类,通过example定义查询条件 ZhuanyeExample example = new ZhuanyeExample();

    通过zhuanyedao的selectByExample方法查询出所有的专业信息 List zhuanyeall = zhuanyedao.selectByExample(example);

    将专业信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("zhuanyeall", zhuanyeall);

    返回专业管理界面

    return "forward:/zhuanyeguanli.action";

    修改专业模块:

    在页面完成专业的修改信息填写后,将该部分数据传入xiugaizhuanye.action地址,并通过post进行提交。提交后在zhuanyeController中通过xiugaizhuanye进行接收,将所有字段封装为一个专业实体。并将该实体传入zhuanyedao中的updateByPrimaryKeySelective方法中,在该方法中定义了通过专业id更新其余专业的字段,该部分字段包括经管,软件工程,电子信息,该部分核心代码如下所示:

    通过zhuanyedao的修改方法根据id修改对应的专业 zhuanyedao.updateByPrimaryKeySelective(zhuanye);

    将修改专业成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改专业信息成功");

    返回专业管理界面

    return "forward:/zhuanyeguanli.action";

    删除专业模块:

    删除专业功能的实现方式为,通过点击删除专业按钮,向服务器发起get请求。请求中包含专业的id信息,在zhuanyeController中使用int接受该id,并将该id传入zhuanyedao的deleteByPrimaryKey方法中。该方法的作用为根据id删除对应专业。最后将删除专业成功的信息返回页面,该部分核心代码如下:

    通过zhuanyedao的删除方法根据id删除对应的专业 zhuanyedao.deleteByPrimaryKey(id);

    将删除专业成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除专业成功");

    返回专业管理界面

    return "forward:/zhuanyeguanli.action";

  • 相关阅读:
    ExtJs 第二章,Ext.form.Basic表单操作
    linux centos 下php的mcrypt扩展
    curl_errno错误码说明
    centos 安装composer
    虚拟机centOs Linux与Windows之间的文件传输
    CentOS 6.4 linux下编译安装 LNMP环境
    CentOS 6.4 php-fpm 添加service 添加平滑启动/重启
    CentOS 6.4 linux下编译安装MySQL5.6.14
    centOS linux 下PHP编译安装详解
    centOS linux 下nginx编译安装详解
  • 原文地址:https://www.cnblogs.com/lqs11/p/11580803.html
Copyright © 2011-2022 走看看