• 设计一个简单的网上答题及评测系统


    一个简单的网上答题及其自动评测系统

    【问题描述】

    目前,采用网上考试并实现自动评测已经成为了一种趋势,通过本案例学习,理解和掌握在一个提交信息页面中,一个表单可能存在多种不同的输入域,例如,文本框、复选框、单选框、列表框等、在其相应处理页面时如何获得这些参数呢?

    【问题分析】

    改程序包括两部分,首先是实体页面的设计及其解答的提交,其次是当提交解答后,系统自动评测并给出评测结果

    一个是提交信息页面,另一个是获取提交并进行处理现实结果页面。

    【答题页面设计】

        <form action="ch03_17_show.jsp" method="post">
        一‘2+3=?<br>
        <input type=radio name=r1 value=2 checked="checked"/>2&nbsp;
        <input type=radio name=r1 value=3 >3&nbsp;
        <input type=radio name=r1 value=4 >4&nbsp;
        <input type=radio name=r1 value=5 >5<br/>
        二、下列哪些是偶数?<br/>&nbsp;&nbsp;
        <input type=checkbox name=c1 value=2 >2&nbsp;
        <input type=checkbox name=c1 value=3 >3&nbsp;
        <input type=checkbox name=c1 value=4 >4&nbsp;
        <input type=checkbox name=c1 value=5 >5<br/>
        三、下列哪些是动态网页?<br/>&nbsp;&nbsp;
        <select size="4" name="list" mutiple="mutiplr">
          <option value="asp">ASP</option>
          <option value="php">PHP</option>
          <option value="html">HTML</option>
          <option value="jsp">JSP</option>
          <option value="xyz" select="selected">xyz</option>
        </select>
        <br/>四、下列哪个是服务器端的?<br/>&nbsp;&nbsp;
        <select size="1" name="list5" >
          <option value="jsp">JSP</option>
          <option value="servlet">SERVLET</option>
          <option value="java">java</option>
          <option value="jdbc">jdbc</option>
          <option value="xyz" select="selected">xyz</option>
        </select><br/>
        五、在服务器端用来接收用户请求的对象是:
        <input type="text" size="20" name="text1"><br/>
        <div align="left">
        <blockquote>
          <input type="submit" value="提交" name="button1"/>
          <input type="reset" value="重置" name="button2"/>
        </blockquote>
        </div>
        
        </form>

    【答题评测】

     <% request.setCharacterEncoding("utf-8");
       String s1=request.getParameter("r1");
         if(s1!=null){
          out.println("一、解答为:2+3="+s1+"  ");
          if(s1.equals("5")) out.println("正确"+"<br>");
          else out.println("回答错误"+"<br");
         }else out.println("一、没有填写答案");
         out.println("-------------------<br>");
         
         String [] s2=request.getParameterValues("c1");
         if(s2!=null){
              out.println("二、答案为:");
              for(int i=0;i<s2.length;i++){
              out.println(s2[i]+"    ");
         }
         if(s2.length==2&&s2[0].equals("2")&&s2[1].equals("4"))
          out.println("正确"+"<br>");
          else out.println("错误"+"<br>");}
          else out.println("二、请填写答案!");
          out.println("------------------<br>");
          
           String [] s3=request.getParameterValues("list1");
         if(s3!=null){
              out.println("三、动态网页是:");
              for(int i=0;i<s3.length;i++){
              out.println(s3[i]+"    ");
         }
         if(s3.length==3&&s3[0].equals("asp")&&s3[1].equals("php")
         &&s3[2].equals("jsp"))
          out.println("正确"+"<br>");
          else out.println("错误"+"<br>");}
          else out.println("三、请填写答案!");
          out.println("------------------<br>");
          
           String s4=request.getParameter("list5");
         if(s4!=null){
              out.println("四、服务器端的组件是:");
          
              out.println(s4+"    ");
         
         if(s4!=null&&s4.equals("servlet"))
          out.println("正确"+"<br>");
          else out.println("错误"+"<br>");
          }
          else out.println("四、请填写答案!");
          out.println("------------------<br>");
          
           String s5=request.getParameter("text1");
         if(s5!=null){
              out.println("五、解答为:");
             
              out.println(s5+"     ");
         
         if(s5!=null&&s5.equals("request"))
          out.println("正确"+"<br>");
          else out.println("错误"+"<br>");}
          else out.println("五、没有填写答案!");
          out.println("------------------<br>");
        %>
  • 相关阅读:
    vagrant 修改配置生效
    Linux下如何获取CPU内存等硬件信息
    linux命令系列 sudo apt-get update和upgrade的区别
    docker-compose up 启动容器服务超时错误:ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information
    ERROR: manifest for hyperledger/fabric-orderer:latest not found
    fabric2.0开发 部署fabric环境和fabric-samples的启动(2)
    开源架构Fabric、FISCO BCOS(以下简称“BCOS”)、CITA 技术对比
    Centos 7 安装配置 Mariadb 数据库
    liblzma.so.5: version `XZ_5.1.2alpha' not found (required by /lib64/librpmio.so.3)
    ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
  • 原文地址:https://www.cnblogs.com/ljp-yuban/p/7663761.html
Copyright © 2020-2023  润新知