//文件1:LandingExamination.jsp<%@ page contentType="text/html;charset=GBK" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*"%>
<%  int i=1;
    String str=null;
    Integer number=new Integer(1);
    Integer score=new Integer(0);
    session.setAttribute("分数",score);
    session.setAttribute("题号",number);   
    try{
       File file=new File("C:/Program Files/Xinox Software/JCreatorV3/MyProjects/test/src","English.txt");
       FileReader infile=new FileReader(file);
       BufferedReader in=new BufferedReader(infile);
       while((str=in.readLine())!=null){
          session.setAttribute(""+i,str);
          i++;                
       }
    }catch(IOException e){
          out.print("无法读取文件");
    }
%>
<html>
<body bgcolor="pink">
<font size="7">
<p>请点击进入考试系统</p>
<form action="ExaminationTest.jsp" method="post" name="form">
<INPUT type="submit" value="进入系统" name="submit">
</form>
</font>
</body>
</html>//文件2:ExaminationTest.jsp<%@ page contentType="text/html;charset=GBK" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %><html>
<body><%
  int cur_number=1;
  int cur_score=0;
  String option[]=new String[7]; 
  if(!session.isNew()){
     if((session.getAttribute("题号"))!=null){
        cur_number=((Integer)(session.getAttribute("题号"))).intValue();
     }else{
        session.setAttribute("题号",new Integer(cur_number));
     }
     cur_score=((Integer)(session.getAttribute("分数"))).intValue();
  }
  String str=(String)session.getAttribute(""+cur_number);
  if(str==null){
     str="ended";
  }
  StringTokenizer fenxi=new StringTokenizer(str,"#");
  for(int i=0;fenxi.hasMoreTokens();i++){
     option[i]=fenxi.nextToken();
  }
  session.setAttribute("题号",new Integer(cur_number+1));
  session.setAttribute("答案"+cur_number,option[5]);
%>
<p>试题<%= cur_number %>:</p>
<BR>
<%= option[0] %>
<p>请选择你的答案:
<BR>
<BR>
<BR>
<form action="ExaminationTest.jsp" method="post" name="form">
      <input type="radio" name="R" value="A">A. <%= option[1] %><BR>
      <input type="radio" name="R" value="B">B. <%= option[2] %><BR>
      <input type="radio" name="R" value="C">C. <%= option[3] %><BR>
      <input type="radio" name="R" value="D">D. <%= option[4] %><BR>
      <input type="submit" name="submit" value="提交答案">      
</form> 
<% 
   String cur_answer=request.getParameter("R");
   String answer=(String)session.getAttribute("答案"+(cur_number-1));
   if(cur_answer==null){
      answer="您未做出选择";
   }
   if(cur_answer.equals(answer)){
      session.setAttribute("分数",new Integer(cur_score+1));
   }
   out.print("<BR>"+"您上一题选的答案是:"+cur_answer);
   out.print("<BR>"+"上一题正确的答案是:"+answer);
   out.print("<BR>"+"您现在的得分是:"+session.getAttribute("分数"));
%>
</body>
</html>

解决方案 »

  1.   

    sorry!第一次发贴,不懂事!呵呵~~现在给出错误信息!请高手指点!45
    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause java.lang.NullPointerException
    org.apache.jsp.ExaminationTest_jsp._jspService(ExaminationTest_jsp.java:106)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)