在线答题系统(服务端,客户端包括web和android)、( 一)

最近在做练习,练习的内容就是做一个在线答题系统,主要内容包括后台开发,前台展示,前台又包括了web端和android端,现在将写的系统分享出来。
先放上后台的成果图


科目管理.png
题目和选项管理.png
添加题目和选项界面.png
查看题目和选项界面.png

这个小项目采用的是JFinal框架,,前台框架使用的是layui前台框架,数据库采用的是MySql,前后台交互使用jQuery。

JFinal框架:http://www.jfinal.com/doc/2-3
layui框架:http://www.layui.com/
MySQL教程:http://www.runoob.com/mysql/mysql-tutorial.html
jQuery教程:http://www.w3school.com.cn/jquery/index.asp
JSTL教程:http://www.runoob.com/jsp/jsp-jstl.html
EL表达式教程:http://www.runoob.com/jsp/jsp-expression-language.html

一、数据库设计

数据库设计了三张张表,分别为题干表、选项表、科目表

表结构如下

  1. 题目表
    ID,题目内容,正确答案ID,科目ID,状态
  2. 选项表
    ID,题目ID,选项标识(A\B\C\D...)、选项内容,状态
  3. 科目表
    ID,科目名称,状态

二、后台代码开发

后台主要功能为:1.科目的增删改查,2.题干的增删改查,3.选项的增删改查,4.选项和题干对应以及正确答案的保存

主要代码展示:

新增选项代码如下,注意:在新增选项的时候需要指定正确答案,在依次存储选择的时候将正确答案的id顺便存入到题干信息的选项id字段中,这样就实现的题干和正确答案的关联。另外存储选项的时候每个选项对应的题目id为题干id,这样实现了题干和选项关联

        @Before(Tx.class)
    public Object saveOption(Map map) {
        try {
            int item = Integer.valueOf(map.get("items").toString());
            int qId = Integer.valueOf(map.get("quid").toString());
            int oId = 0;
            for (int i = 1; i < item + 1; i++) {
                Option option = new Option();
                Object obj = map.get("checked");
                option.setTId(qId);
                option.setContent(map.get("content" + i).toString());
                option.setIden(Constant.iden[i - 1]);
                Option.dao.saveOption(option);
                oId=option.get("id");
                if (Integer.valueOf(obj.toString()) == i) {
                    // 正确答案,需要存入到题干表中
                    Title.dao.saveOption(String.valueOf(oId), map.get("quid").toString());
                }
            }
             tag=true;
        } catch (Exception e) {
            e.printStackTrace();
            logger.info("数据库操作失败:"+e);
            tag=false;
        }
        return tag;
    }

下载源码请点击这里(在线答题系统(服务端+客户端(pc端)))
下载源码请点击这里(在线答题系统(Android端))

接口和前台代码请看下篇文章,在线答题系统(服务端,客户端包括web和android)、( 二)

你可能感兴趣的:(在线答题系统(服务端,客户端包括web和android)、( 一))