码迷,mamicode.com
首页 > 其他好文 > 详细

zzzzw_在线考试系统③完结篇

时间:2015-06-02 17:12:12      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

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

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

第一点问题:

 技术分享

图一

图一中我想说说的是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_在线考试系统③完结篇

标签:

原文地址:http://www.cnblogs.com/zzzzw/p/4546609.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!