Servlets 我正在用servlet和jsp开发在线考试系统

Servlets 我正在用servlet和jsp开发在线考试系统,servlets,Servlets,我正在用servlet开发在线考试应用程序。当我使用getParameter(-)方法读取单选按钮值时,它显示/返回的“on”是一些参数名的参数值。它随机改变它们的值 例如,首先当我们请求时,它显示2,5个单选按钮问题的“开”值。 第二次显示“开”7,4个单选按钮问题 请验证我的代码,并告诉我我的错误是什么 代码 import java.io.IOException; 导入java.io.PrintWriter; 导入java.sql.Connection; 导入java.sql.DriverM

我正在用servlet开发在线考试应用程序。当我使用getParameter(-)方法读取单选按钮值时,它显示/返回的“on”是一些参数名的参数值。它随机改变它们的值

例如,首先当我们请求时,它显示2,5个单选按钮问题的“开”值。 第二次显示“开”7,4个单选按钮问题

请验证我的代码,并告诉我我的错误是什么

代码
import java.io.IOException;
导入java.io.PrintWriter;
导入java.sql.Connection;
导入java.sql.DriverManager;
导入java.sql.PreparedStatement;
导入java.sql.ResultSet;
导入java.sql.Statement;
导入javax.servlet.RequestDispatcher;
导入javax.servlet.ServletException;
导入javax.servlet.http.HttpServlet;
导入javax.servlet.http.HttpServletRequest;
导入javax.servlet.http.HttpServletResponse;
导入javax.servlet.http.HttpSession;
公共类ExamSrv扩展了HttpServlet{
public void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
int j=1;
PrintWriter pw=response.getWriter();
response.setContentType(“text/html”);
连接con=null;
ResultSet ResultSet=null;
语句st=null;
试一试{
forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
con=DriverManager.getConnection(“jdbc:odbc:accdsn”);
st=con.createStatement();
resultSet=st.executeQuery(“从qno所在的级别1中选择qno、问题、选项1、选项2、选项3、选项4
在Java==中,它不比较字符串的值。它比较对象的引用。

因此,在

中使用等值方法,如果您想在“否则”中同时执行“<代码> FAL++/<代码>和<代码> J++/COD> >,请将该块放在另一个代码中。该代码,如最初发布的,将不会编译。我已经修复了这些编译问题,并对代码进行了重新格式化,以提高可读性。呃(比如jacobe),在将来。您没有正确关闭数据库资源。添加finally块并使用类似的方法。
import java.io.IOException;
import java.io.PrintWriter;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class ExamSrv extends HttpServlet {

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    int j = 1;
    PrintWriter pw = response.getWriter();
    response.setContentType("text/html");
    Connection con = null;
    ResultSet resultSet = null;
    Statement st = null;
    try {
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      con = DriverManager.getConnection("jdbc:odbc:accdsn");
      st = con.createStatement();
      resultSet = st.executeQuery("select qno,question,option1,option2,option3,option4 from Level1 where qno<=10");
      pw.println("<form action=ansurl name=ans method=get>");
      while (resultSet.next()) {

        int k = resultSet.getInt(1);

        pw.println(k + ").");
        pw.println("<b><font size=3>" + resultSet.getString(2) + "</font></b><br><br>");
        pw.println("<input type=radio name=opt" + j + " value=1 unchecked/>a)<b>" + resultSet.getString(3) +
                   "</b> &nbsp;&nbsp;");
        pw.println("<input type=radio name=opt" + j + " value =2 />b)<b>" + resultSet.getString(4) +
                   "</b> &nbsp;&nbsp;");
        pw.println("<input type=radio name=opt" + j + " vaule=3 />c)<b>" + resultSet.getString(5) +
                   "</b> &nbsp;&nbsp;");
        pw.println("<input type=radio name=opt" + j + " value=4 />d)<b>" + resultSet.getString(6) +
                   "</b><br><br><br> ");

        j++;


      }
      pw.println("<input type=submit name=submit value=submit>");
      pw.println("</form>");

    } catch (Exception e) {
      e.printStackTrace();
    }
  }

  public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    doGet(req, res);
  }
}
public class AnsSrv extends HttpServlet {
  public void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {
    int j = 1, cnt = 0, fal = 0;
    PrintWriter pw = response.getWriter();
    response.setContentType("text/html");
    Connection con = null;
    ResultSet resultSet = null;
    Statement st = null;
    try {
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      con = DriverManager.getConnection("jdbc:odbc:accdsn");
      st = con.createStatement();
      resultSet = st.executeQuery("select answer from Level1 where qno<=10");

      while (resultSet.next()) {
        if (req.getParameter("opt" + j).equals(resultSet.getString(1))
          {
           pw.println("opt"+j+"<br>"); //here it shows "on " value as on browser window
          cnt++;
        else
          fal++;
        j++;
      }

      pw.println("your marks are:" + (cnt - fal));

    } catch (Exception e) {
      e.printStackTrace();
    }


  }

  public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    doGet(req, res);
  }

}
while(resultSet.next())
{
           if(req.getParameter("opt"+j).equals(resultSet.getString(1)))
                 cnt++;
              else
              {            // block only if you wont to execute both the statements.
                fal++;
                j++;
              }


}