mn_test.jsp
上传用户:nbluoke
上传日期:2013-08-09
资源大小:4851k
文件大小:9k
源码类别:

教育系统应用

开发平台:

WORD

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <!-- saved from url=(0041)http://jsptestonline.cosoft.org.cn/senior/none_xt.jsp -->
  3. <%@ page contentType="text/html; charset=gb2312" language="java"%>
  4. <%@ page import="java.sql.*" %>
  5. <%@ page import="java.util.*" %>
  6. <%@ page import="jinghua.*"%>
  7. <jsp:useBean id="DBCon" class="jinghua.JinghuaConn" scope="session">
  8. </jsp:useBean>
  9. <%!Connection con;
  10. boolean debug=false;
  11. String studentID="";
  12. String mn_testID="";
  13. String mn_test_name="";
  14. Statement stmt=null;
  15. ResultSet rs=null;
  16. String sql="";
  17. int test_num=-1;
  18. String test_paper="";
  19. String [] arrTestID=null;
  20. int mn_testValid=0;
  21. public class testItem{
  22.   int id;
  23.   int subid;
  24.   String title;
  25.   boolean old=false;//该学生是否已经做过试卷
  26.     public String toString(){
  27.      String temp="";
  28.      temp="<br> id="+id+"<br> subid="+subid+"<br> title="+title+"<br> old="+old+"<br>";
  29.      return temp;
  30.    }
  31. };
  32. %>
  33. <%
  34. Vector test=new Vector();
  35.     studentID=(String)request.getParameter("stuID");
  36.     //Tools.showalert(studentID,out);
  37.     mn_testID=(String)request.getParameter("mn_testID");
  38.     if(debug){
  39.         out.print("<br>stuID="+studentID+"<br>mn_testID="+mn_testID);
  40.     }
  41. try{
  42.     con=DBCon.getConnection();
  43.     //查询模拟考试(mn_testID)信息
  44.     sql=" select name,test_num,test_paper,begin_date,end_date, "+
  45.         " IF(CURRENT_DATE>end_date OR CURRENT_DATE<begin_date,0,1) as valid "+
  46.         " from mn_test where id="+mn_testID;
  47.     try{
  48.     stmt=con.createStatement();
  49.     rs=stmt.executeQuery(sql);
  50.     if(rs.next()){
  51.         mn_testValid=rs.getInt("valid");
  52.         test_num=rs.getInt("test_num");
  53.         test_paper=rs.getString("test_paper");
  54.         mn_test_name=rs.getString("name");
  55.         rs.close();
  56.         stmt.close();
  57.     }
  58.     if(mn_testValid==0){
  59.         Tools.showalert("这次模拟考试当前已经无效,您可以做其中的试卷,\n但系统不记录成绩,如有疑问请与系统管理员联系。",out);
  60.     }
  61.     }catch(SQLException se){
  62.         out.print("<br> query mn_test error sql="+sql);
  63.         out.print("<br>"+se.toString());
  64.     }
  65.     catch(Exception e){
  66.         out.print("<br> query mn_test error sql="+sql);
  67.         out.print("<br>"+e.toString());
  68.     }
  69.     //生成试题编号数组(test表ID)
  70.     if(debug){
  71.         out.print("<br>test_paper="+test_paper);
  72.     }
  73.     if(test_paper!=null){
  74.     arrTestID=test_paper.split("#");
  75.     sql="";
  76.     for(int i=0;i<arrTestID.length;i++){
  77.         sql+=arrTestID[i]+",";
  78.     }
  79.     sql=sql.substring(0,sql.length()-1);
  80.     sql="select * from test where id in("+sql+") order by subid";
  81.     if(debug){
  82.         out.print("<br>query test sql="+sql);
  83.     }
  84.     //查询test表
  85.     try{
  86.     stmt=con.createStatement();
  87.     rs=stmt.executeQuery(sql);
  88.     while(rs.next()){
  89.         testItem t=new testItem();
  90.         t.id=rs.getInt("id");
  91.         t.subid=rs.getInt("subid");
  92.         t.title=rs.getString("title");
  93.         t.old=false;
  94.         test.addElement(t);
  95.     }
  96.     rs.close();
  97.     stmt.close();
  98.     }catch(SQLException se){
  99.         out.print("<br> query mn_test error sql="+sql);
  100.         out.print("<br>"+se.toString());
  101.     }
  102.     catch(Exception e){
  103.         out.print("<br> query mn_test error sql="+sql);
  104.         out.print("<br>"+e.toString());
  105.     }
  106.     if(debug){
  107.         out.print("<br>Vector test="+test.toString());
  108.     }
  109.     //检查学生是否过做与该试卷相同科目的试卷(此次模拟考试中)
  110.     for(int i=0;i<test.size();i++){
  111.         testItem t=(testItem)test.elementAt(i);
  112.         int testID=t.id;
  113.         //sql="select * from scores where test_class=3 and test_id="+testID+" and stu_id='"+studentID+"'";
  114.         sql="select * from mn_scores where sub_id="+t.subid+" and stu_id='"+studentID+"'"+
  115.             " and mn_test_id="+mn_testID;
  116.         try{
  117.             stmt=con.createStatement();
  118.             rs=stmt.executeQuery(sql);
  119.             if(debug){
  120.                 out.print("<br>query mn_scores sql="+sql);
  121.             }
  122.             if(rs.next()){
  123.                 //做过该试卷
  124.                 t.old=true;
  125.             }
  126.             rs.close();
  127.             stmt.close();
  128.         }catch(SQLException se){
  129.             out.print("<br> query whether the student do the test error sql="+sql);
  130.             out.print("<br>"+se.toString());
  131.         }
  132.         catch(Exception e){
  133.             out.print("<br> query whether the student do the test error sql="+sql);
  134.             out.print("<br>"+e.toString());
  135.         }
  136.     }
  137.     if(debug){
  138.         out.print("<br>Vector test="+test.toString());
  139.     }
  140. %>
  141. <HTML><HEAD><TITLE>共创学堂</TITLE>
  142. <META http-equiv=Content-Type content="text/html; charset=gb2312">
  143. <LINK
  144. href="style/style.css" type=text/css rel=stylesheet>
  145. <SCRIPT src="js/html.js"></SCRIPT>
  146. <SCRIPT src="js/gnb_menus_layer.js"></SCRIPT>
  147. <SCRIPT src="js/menu.js"></SCRIPT>
  148. <SCRIPT src="js/jumpmenu.js"></SCRIPT>
  149. <SCRIPT src="js/Valid.js"></SCRIPT>
  150. <BODY bgColor=#ffffff text=#000000 link="#0000FF" vlink="#0000FF" alink="#0000FF">
  151. <FORM name="form1" action="UnitTestPaper.jsp" method="post">
  152. <CENTER>
  153.   <table width="650" border="0" cellspacing="0" cellpadding="0">
  154.     <tr>
  155.       <td><img src="images/test_pop_01.gif" width="102" height="27"></td>
  156.       <td align="right"><img src="images/test_pop_02.gif" width="134" height="27"></td>
  157.     </tr>
  158.   </table>
  159.   <!--begin test -->
  160.   <table width="650" border="0" cellspacing="0" cellpadding="0">
  161.     <tr>
  162.       <td class="title1" align="center"><div align="left">
  163.             <p>&nbsp;</p>
  164.             <p>考试说明:每份试卷只能做一次(提交一次),同一科目的试卷只记录第一次测试的分数。</p>
  165.           </div></td>
  166.     </tr>
  167.   </table>
  168.   <br>
  169.   <table id=AutoNumber1 style="BORDER-COLLAPSE: collapse"
  170. height=82 cellspacing=1 width="650" border=0 cellpadding="2" bgcolor="#c1c1c1">
  171.     <tbody>
  172.       <tr class=trh>
  173.         <td align=center bgcolor=#eaeaea> <p align=center><b><%=mn_test_name%></b></p></td>
  174.       </tr>
  175.       <tr class=trh1 bgcolor="#FFFFFF">
  176.         <td align=middle>
  177.               <!--显示这次模拟考试的各份试卷-->
  178.               <%
  179.             for(int i=0;i<test.size();i++){
  180.                 testItem t=(testItem)test.elementAt(i);
  181.                 if(!t.old ){//没有做过的试卷%>
  182.               <p align="left"><B><FONT color=#333300> <a href="mn_test_paper.jsp?testID=<%=t.id%>&stuID=<%=studentID%>&mn_testID=<%=mn_testID%>&old=0&valid=<%=mn_testValid%>"
  183.                         title="<%=t.title%>"
  184.    target="_blank">★ <%=t.title%> </a></FONT></B></p>
  185.               <%}else{//做过的试卷%>
  186.               <p align="left"><B><FONT color=#333300> <a href="mn_test_paper.jsp?testID=<%=t.id%>&stuID=<%=studentID%>&mn_testID=<%=mn_testID%>&old=1&valid=<%=mn_testValid%>"
  187.                         title="<%=t.title%>"
  188.    target="_blank">★ <%=t.title%> </a></FONT></B></p>
  189.               <%
  190.                 }
  191.             }
  192.         %>
  193.           </td>
  194.       </tr>
  195.     </tbody>
  196.   </table>
  197.   <table cellspacing=0 cellpadding=8 width=650 border=0>
  198.     <tbody>
  199.     <tr>
  200.         <td align=center>
  201.           <!--begin botton-->
  202.           &nbsp;&nbsp;
  203.           <input id="mn_testID"
  204.       type="hidden" value="<%=mn_testID%>" name="mn_testID">
  205.           <!--end button-->
  206.         </td>
  207.     </tr>
  208.     </tbody>
  209.   </table>
  210.   <!--end test -->
  211.   <!--begin bottom -->
  212.   <TABLE
  213. style="BORDER-TOP: #dbdbdb 1px solid; MARGIN-TOP: 10px; MARGIN-BOTTOM: 10px; BACKGROUND-COLOR: #f6f6f6"
  214. cellSpacing=0 cellPadding=0 width="100%" border=0>
  215.   <TBODY>
  216.   <TR>
  217.     <TD align=middle colSpan=2 height=30>
  218.       <TABLE cellSpacing=0 cellPadding=0 width=750 border=0>
  219.         <TBODY>
  220.         <TR>
  221.           <TD><A href="http://jsptestonline.cosoft.org.cn/index.html"
  222.             target=_blank>关于我们</A> | <A
  223.             href="http://jsptestonline.cosoft.org.cn/contact/3_ywhz.html"
  224.             target=_blank>联系方式</A> | 网站地图 | <A
  225.             href="http://jsptestonline.cosoft.org.cn/about/service.html"
  226.             target=_blank>服务条款</A> | <A
  227.             href="http://jsptestonline.cosoft.org.cn/about/privacy.html"
  228.             target=_blank>隐私权保护</A> | <A
  229.             href="http://jsptestonline.cosoft.org.cn/about/copyright.html"
  230.             target=_blank>版权声明</A></TD>
  231.           <TD align=middle width=220>版权所有:<A href="http://jsptestonline.cosoft.org.cn/"
  232.             target=_blank>共创教育机构</A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!--end bottom --></CENTER>
  233. </form>
  234. </BODY></HTML>
  235. <%
  236. }//if test_paper!=null
  237. else{
  238. Tools.showalert("该次模拟考试还没有发布试卷,请耐心等待或与系统管理员联系",out);
  239. Tools.showJS("window.close()",out);
  240. }
  241. }catch(Exception e){
  242.     System.out.print(e.toString());
  243. }
  244. finally{
  245.     DBCon.dropConnection();
  246. }
  247. %>