• zzzzw_在线考试系统③完结篇


    昨天填完原本打算写有关“学生考试部门”的总结,但是因为时间来不及,所以推迟到今天来写。

    至于最后的:“老师登录”部门就没什么好说的了,只要会了“管理员部分”和“学生考试部分”的书写,剩下就只是耐心的一点一点把代码码出来,写代码是一个考验耐性的活,我本身不是很有耐心,但是我慢慢地我努力改变着自己,其实稍微努力一下,我也可以蛮有耐心的嘛,哈哈!老规矩,我上图分析分析:

    第一点问题:

     

    图一

    图一中我想说说的是sessionScope。,意思如下图二所示:

    图二

    第二点问题:struts2标签

    图三

    2.1如图三所示#request.selects是OGLN语句,他跟EL语句是由区别的!分别是用法区别和页面取值的区别:如下图四和图五所示:

    图四

    图五

    2.2继续看图三中的Iterator便签中var=”select“和status="sta",但要用到索引的时候就要用${sta.index+1},也就是status,切记是sta而不是select;这里涉及到一个问题:就是当index+1的时候。就会自动从1开始,如果是${sta.index+11}则是从11开始.....

    ,但是在遍历的是时候用到的是select。也就是var,如下图所示:

    图五

    2.3这个问题就是一开始谈到的那个问题,这里跳过

    图六

    第三点问题说说arrayList和LinkList;如图七图八所示:

    图七

    图八

    4.产生随机数字的算法:这里比较巧的是for(){number[j-1]==nuber[i]},如果产生的随机数重复了,就要重新产生数据,因为在考试过程中出现的题目不可以一模一样,这就要求选择数据库的题号的时候不可以重复

    图九

    5这段代码我想给出详细解说,如下所示:

     1    //从题库中随机生成填空题,返回保存num个填空题的链表
     2      public List<FillQuestion>selectFillQuestion(int num)
     3      {
     4          Connection conn=JDBCConnectionFactory.getConnection();//连接数据池
     5          FillQuestion fill=null;//javabean
     6           List<FillQuestion>list=new LinkedList<FillQuestion>(); //List<>
     7         //查询该选择题
     8          try{
     9              Statement stmt= conn.createStatement(); //执行数据库语句
    10            //生成num个随机数作为需选择题的题号
    11              ResultSet rsl=stmt.executeQuery("select MAX(f_id) FROM fillquestion");//返回一个结果集,数据库语句的意思是寻找并返回最大的f_id
    12              int maxfid=30;  //这个是随便取值的
    13              if(rsl.next())//
    14              {
    15                  maxfid=rsl.getInt(1);//取出结果集中第一个数值。
    16              }
    17             //生成选题编号数组
    18              int[] number=random_number(maxfid,num);
    19             //查询所有选择题并选出num道题
    20              String sql="select * from FillQuestion";
    21              ResultSet rs=stmt.executeQuery(sql);
    22              while(rs.next())
    23              {
    24                  for(int i=0;i<num;i++)
    25                  {
    26                      if(rs.getInt(1)==number[i])//如果是相同的话,取值第二个和第三个!
    27                      {
    28                          fill=new FillQuestion(rs.getString(2),rs.getString(3));
    29                          list.add(fill);//List表就是这样子添加一个 javabean成为链表格式
    30                      }
    31                  }
    32              }
    33              }catch(SQLException ee){
    34                  ee.printStackTrace();
    35                  
    36              }finally{}
    37          return list;
    38     }

    6             s:if   便签

    图十

    图十一

    根据图十和图十一,s:if text=#li其实就是s:if text=#request.cz。

    备注:①

    ②整型的记得转一下:

    ---- 动动手指关注我!或许下次你又能在我这里找到你需要的答案!ZZZZW与你一起学习,一起进步!
  • 相关阅读:
    UITableView多选全选
    iOS16进制设置颜色
    svg矢量图
    canvas 时钟案例
    canvas 方块旋转案例
    canvas万花筒案例
    swiper(轮播)组件
    canvas介绍(画布)
    scroll-view组件
    view组件
  • 原文地址:https://www.cnblogs.com/zzzzw/p/4546609.html
Copyright © 2020-2023  润新知