那不好意思,麻烦啦。<%@page contentType="text/html; charset=gb2312" language="java" import="java.sql.*"%> 
<%@ include file="Connections/database.jsp" %>
<%
// *** Edit Operations: declare variables// set the form action variable
String MM_editAction = request.getRequestURI();
if (request.getQueryString() != null && request.getQueryString().length() > 0) {
  MM_editAction += "?" + request.getQueryString();
}// connection information
String MM_editDriver = null, MM_editConnection = null, MM_editUserName = null, MM_editPassword = null;// redirect information
String MM_editRedirectUrl = null;// query string to execute
StringBuffer MM_editQuery = null;// boolean to abort record edit
boolean MM_abortEdit = false;// table information
String MM_editTable = null, MM_editColumn = null, MM_recordId = null;// form field information
String[] MM_fields = null, MM_columns = null;
%>
<%
// *** Redirect if username exists
String MM_flag="MM_insert";
if (request.getParameter(MM_flag) != null) {
  String MM_dupKeyRedirect="registerfailure.jsp";
  String MM_rsKeyConnection=MM_database_STRING;
  String MM_dupKeyUsernameValue = request.getParameter("uid");
  String MM_dupKeySQL = "SELECT uid FROM user WHERE uid='" + MM_dupKeyUsernameValue + "'";
  Driver MM_rsKeyDriver = (Driver)Class.forName(MM_database_DRIVER).newInstance();
  Connection MM_rsKeyConn = DriverManager.getConnection(MM_rsKeyConnection,MM_database_USERNAME,MM_database_PASSWORD);
  PreparedStatement MM_rsKeyStatement = MM_rsKeyConn.prepareStatement(MM_dupKeySQL);
  ResultSet MM_rsKey = MM_rsKeyStatement.executeQuery();
  boolean MM_rsKey_isEmpty = !MM_rsKey.next();
  MM_rsKey.close(); // Close the recordset - we have all the info we need.
  MM_rsKeyConn.close();
  if (!MM_rsKey_isEmpty) {
    // the username was found - can not add the requested username
    String MM_qsChar = "?";
    if (MM_dupKeyRedirect.indexOf("?") >= 0) MM_qsChar = "&";
    MM_dupKeyRedirect = MM_dupKeyRedirect + MM_qsChar + "requsername=" + MM_dupKeyUsernameValue;
    response.sendRedirect(response.encodeRedirectURL(MM_dupKeyRedirect));
  }
}
%>
<%
// *** Insert Record: set variablesif (request.getParameter("MM_insert") != null) {  MM_editDriver     = MM_database_DRIVER;
  MM_editConnection = MM_database_STRING;
  MM_editUserName   = MM_database_USERNAME;
  MM_editPassword   = MM_database_PASSWORD;
  MM_editTable  = "user";
  MM_editRedirectUrl = "registerok.jsp";
  String MM_fieldsStr = "uid|value|password2|value|sno|value|name|value|tname|value|mobile|value|email|value|qq|value|question|value|answer|value";
  String MM_columnsStr = "uid|',none,''|password|',none,''|sno|none,none,NULL|name|',none,''|tname|',none,''|mobile|none,none,NULL|email|',none,''|qq|none,none,NULL|question|',none,''|answer|',none,''";  // create the MM_fields and MM_columns arrays
  java.util.StringTokenizer tokens = new java.util.StringTokenizer(MM_fieldsStr,"|");
  MM_fields = new String[tokens.countTokens()];
  for (int i=0; tokens.hasMoreTokens(); i++) MM_fields[i] = tokens.nextToken();  tokens = new java.util.StringTokenizer(MM_columnsStr,"|");
  MM_columns = new String[tokens.countTokens()];
  for (int i=0; tokens.hasMoreTokens(); i++) MM_columns[i] = tokens.nextToken();  // set the form values
  for (int i=0; i+1 < MM_fields.length; i+=2) {
    MM_fields[i+1] = ((request.getParameter(MM_fields[i])!=null)?(String)request.getParameter(MM_fields[i]):"");
  }
 
  // append the query string to the redirect URL
  if (MM_editRedirectUrl.length() != 0 && request.getQueryString() != null) {
    MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + request.getQueryString();
  }
}
%>
<%
// *** Insert Record: construct a sql insert statement and execute itif (request.getParameter("MM_insert") != null) {  // create the insert sql statement
  StringBuffer MM_tableValues = new StringBuffer(), MM_dbValues = new StringBuffer();
  for (int i=0; i+1 < MM_fields.length; i+=2) {
    String formVal = MM_fields[i+1];
    String elem;
    java.util.StringTokenizer tokens = new java.util.StringTokenizer(MM_columns[i+1],",");
    String delim    = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
    String altVal   = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
    String emptyVal = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
    if (formVal.length() == 0) {
      formVal = emptyVal;
    } else {
      if (altVal.length() != 0) {
        formVal = altVal;
      } else if (delim.compareTo("'") == 0) {  // escape quotes
        StringBuffer escQuotes = new StringBuffer(formVal);
        for (int j=0; j < escQuotes.length(); j++)
          if (escQuotes.charAt(j) == '\'') escQuotes.insert(j++,'\'');
        formVal = "'" + escQuotes + "'";
      } else {
        formVal = delim + formVal + delim;
      }
    }
    MM_tableValues.append((i!=0)?",":"").append(MM_columns[i]);
    MM_dbValues.append((i!=0)?",":"").append(formVal);
  }
  MM_editQuery = new StringBuffer("insert into " + MM_editTable);
  MM_editQuery.append(" (").append(MM_tableValues.toString()).append(") values (");
  MM_editQuery.append(MM_dbValues.toString()).append(")");
  
  if (!MM_abortEdit) {
    // finish the sql and execute it
    Driver MM_driver = (Driver)Class.forName(MM_editDriver).newInstance();
    Connection MM_connection = DriverManager.getConnection(MM_editConnection,MM_editUserName,MM_editPassword);
    PreparedStatement MM_editStatement = MM_connection.prepareStatement(MM_editQuery.toString());
    MM_editStatement.executeUpdate();
    MM_connection.close();    // redirect with URL parameters
    if (MM_editRedirectUrl.length() != 0) {
      response.sendRedirect(response.encodeRedirectURL(MM_editRedirectUrl));
    }
  }
}
%>

解决方案 »

  1.   

    你用的是tomcat吧
    直接到%tomcat_home%\work\Catalina\localhost 文件夹下面找到register_jsp.java 文件
    org.apache.jsp.register_jsp._jspService(register_jsp.java:202)这里说的很清楚是202行出错了或者你把register_jsp.java粘贴出来
    大家帮你看看
    !!
      

  2.   

    register_jsp.java,大大帮忙呀。package org.apache.jsp;import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.jsp.*;
    import java.sql.*;public final class register_jsp extends org.apache.jasper.runtime.HttpJspBase
        implements org.apache.jasper.runtime.JspSourceDependent {  private static java.util.Vector _jspx_dependants;  static {
        _jspx_dependants = new java.util.Vector(1);
        _jspx_dependants.add("/Connections/database.jsp");
      }  public java.util.List getDependants() {
        return _jspx_dependants;
      }  public void _jspService(HttpServletRequest request, HttpServletResponse response)
            throws java.io.IOException, ServletException {    JspFactory _jspxFactory = null;
        PageContext pageContext = null;
        HttpSession session = null;
        ServletContext application = null;
        ServletConfig config = null;
        JspWriter out = null;
        Object page = this;
        JspWriter _jspx_out = null;
        PageContext _jspx_page_context = null;
        try {
          _jspxFactory = JspFactory.getDefaultFactory();
          response.setContentType("text/html; charset=gb2312");
          pageContext = _jspxFactory.getPageContext(this, request, response,
           null, true, 8192, true);
          _jspx_page_context = pageContext;
          application = pageContext.getServletContext();
          config = pageContext.getServletConfig();
          session = pageContext.getSession();
          out = pageContext.getOut();
          _jspx_out = out;      out.write(' ');
          out.write('\r');
          out.write('\n');// FileName="sun_jdbc_odbc_conn.htm"
    // Type="JDBC"
    // HTTP="false"
    // Catalog=""
    // Schema=""
    String MM_database_DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
    String MM_database_USERNAME = "";
    String MM_database_PASSWORD = "";
    String MM_database_STRING = "jdbc:odbc:database";      out.write('\r');
          out.write('\n');
          out.write('\r');
          out.write('\n');// *** Edit Operations: declare variables// set the form action variable
    String MM_editAction = request.getRequestURI();
    if (request.getQueryString() != null && request.getQueryString().length() > 0) {
      MM_editAction += "?" + request.getQueryString();
    }// connection information
    String MM_editDriver = null, MM_editConnection = null, MM_editUserName = null, MM_editPassword = null;// redirect information
    String MM_editRedirectUrl = null;// query string to execute
    StringBuffer MM_editQuery = null;// boolean to abort record edit
    boolean MM_abortEdit = false;// table information
    String MM_editTable = null, MM_editColumn = null, MM_recordId = null;// form field information
    String[] MM_fields = null, MM_columns = null;      out.write('\r');
          out.write('\n');// *** Redirect if username exists
    String MM_flag="MM_insert";
    if (request.getParameter(MM_flag) != null) {
      String MM_dupKeyRedirect="registerfailure.jsp";
      String MM_rsKeyConnection=MM_database_STRING;
      String MM_dupKeyUsernameValue = request.getParameter("uid");
      String MM_dupKeySQL = "SELECT uid FROM user WHERE uid='" + MM_dupKeyUsernameValue + "'";
      Driver MM_rsKeyDriver = (Driver)Class.forName(MM_database_DRIVER).newInstance();
      Connection MM_rsKeyConn = DriverManager.getConnection(MM_rsKeyConnection,MM_database_USERNAME,MM_database_PASSWORD);
      PreparedStatement MM_rsKeyStatement = MM_rsKeyConn.prepareStatement(MM_dupKeySQL);
      ResultSet MM_rsKey = MM_rsKeyStatement.executeQuery();
      boolean MM_rsKey_isEmpty = !MM_rsKey.next();
      MM_rsKey.close(); // Close the recordset - we have all the info we need.
      MM_rsKeyConn.close();
      if (!MM_rsKey_isEmpty) {
        // the username was found - can not add the requested username
        String MM_qsChar = "?";
        if (MM_dupKeyRedirect.indexOf("?") >= 0) MM_qsChar = "&";
        MM_dupKeyRedirect = MM_dupKeyRedirect + MM_qsChar + "requsername=" + MM_dupKeyUsernameValue;
        response.sendRedirect(response.encodeRedirectURL(MM_dupKeyRedirect));
      }
    }      out.write('\r');
          out.write('\n');// *** Insert Record: set variablesif (request.getParameter("MM_insert") != null) {  MM_editDriver     = MM_database_DRIVER;
      MM_editConnection = MM_database_STRING;
      MM_editUserName   = MM_database_USERNAME;
      MM_editPassword   = MM_database_PASSWORD;
      MM_editTable  = "user";
      MM_editRedirectUrl = "registerok.jsp";
      String MM_fieldsStr = "uid|value|password2|value|sno|value|name|value|tname|value|mobile|value|email|value|qq|value|question|value|answer|value";
      String MM_columnsStr = "uid|',none,''|password|',none,''|sno|none,none,NULL|name|',none,''|tname|',none,''|mobile|none,none,NULL|email|',none,''|qq|none,none,NULL|question|',none,''|answer|',none,''";  // create the MM_fields and MM_columns arrays
      java.util.StringTokenizer tokens = new java.util.StringTokenizer(MM_fieldsStr,"|");
      MM_fields = new String[tokens.countTokens()];
      for (int i=0; tokens.hasMoreTokens(); i++) MM_fields[i] = tokens.nextToken();  tokens = new java.util.StringTokenizer(MM_columnsStr,"|");
      MM_columns = new String[tokens.countTokens()];
      for (int i=0; tokens.hasMoreTokens(); i++) MM_columns[i] = tokens.nextToken();  // set the form values
      for (int i=0; i+1 < MM_fields.length; i+=2) {
        MM_fields[i+1] = ((request.getParameter(MM_fields[i])!=null)?(String)request.getParameter(MM_fields[i]):"");
      }
     
      // append the query string to the redirect URL
      if (MM_editRedirectUrl.length() != 0 && request.getQueryString() != null) {
        MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + request.getQueryString();
      }
    }      out.write('\r');
          out.write('\n');// *** Insert Record: construct a sql insert statement and execute itif (request.getParameter("MM_insert") != null) {  // create the insert sql statement
      StringBuffer MM_tableValues = new StringBuffer(), MM_dbValues = new StringBuffer();
      for (int i=0; i+1 < MM_fields.length; i+=2) {
        String formVal = MM_fields[i+1];
        String elem;
        java.util.StringTokenizer tokens = new java.util.StringTokenizer(MM_columns[i+1],",");
        String delim    = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
        String altVal   = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
        String emptyVal = ((elem = (String)tokens.nextToken()) != null && elem.compareTo("none")!=0)?elem:"";
        if (formVal.length() == 0) {
          formVal = emptyVal;
        } else {
          if (altVal.length() != 0) {
            formVal = altVal;
          } else if (delim.compareTo("'") == 0) {  // escape quotes
            StringBuffer escQuotes = new StringBuffer(formVal);
            for (int j=0; j < escQuotes.length(); j++)
              if (escQuotes.charAt(j) == '\'') escQuotes.insert(j++,'\'');
            formVal = "'" + escQuotes + "'";
          } else {
            formVal = delim + formVal + delim;
          }
        }
        MM_tableValues.append((i!=0)?",":"").append(MM_columns[i]);
        MM_dbValues.append((i!=0)?",":"").append(formVal);
      }
      MM_editQuery = new StringBuffer("insert into " + MM_editTable);
      MM_editQuery.append(" (").append(MM_tableValues.toString()).append(") values (");
      MM_editQuery.append(MM_dbValues.toString()).append(")");
      
      if (!MM_abortEdit) {
        // finish the sql and execute it
        Driver MM_driver = (Driver)Class.forName(MM_editDriver).newInstance();
        Connection MM_connection = DriverManager.getConnection(MM_editConnection,MM_editUserName,MM_editPassword);
        PreparedStatement MM_editStatement = MM_connection.prepareStatement(MM_editQuery.toString());
        MM_editStatement.executeUpdate();
        MM_connection.close();    // redirect with URL parameters
        if (MM_editRedirectUrl.length() != 0) {
          response.sendRedirect(response.encodeRedirectURL(MM_editRedirectUrl));
        }
      }
    }      out.write("\r\n");
      

  3.   

    继续。      out.write("<html>\r\n");
          out.write("<head>\r\n");
          out.write("<title>用户注册</title>\r\n");
          out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">\r\n");
          out.write("</head>\r\n");
          out.write("<body bgcolor=\"#FFFFFF\" text=\"#000000\">\r\n");
          out.write("<p>&nbsp;</p>\r\n");
          out.write("<p>&nbsp;</p>\r\n");
          out.write("<form ACTION=\"");
          out.print(MM_editAction);
          out.write("\" name=\"form1\" method=\"POST\">\r\n");
          out.write("  <table width=\"43%\" border=\"0\" align=\"center\">\r\n");
          out.write("    <tr> \r\n");
          out.write("      <td align=\"right\" width=\"24%\">用户名:</td>\r\n");
          out.write("      <td width=\"36%\"> \r\n");
          out.write("        <input type=\"text\" name=\"uid\" size=\"16\" style=\"padding:0px; font-family: Arial; boder-right-color: #FFFFFF; border-left-width:1px; border-right-width:1px; border-top-width:1px; border-bottom-style:outset; border-bottom-width:1px\">\r\n");
          out.write("        <font color=\"#FF0000\"> *</font> </td>\r\n");
          out.write("      <td width=\"40%\"><font size=\"-1\">不得超过20个字符</font></td>\r\n");
          out.write("    </tr>\r\n");
          out.write("    <tr> \r\n");
          out.write("      <td align=\"right\" width=\"24%\">密码:</td>\r\n");
          out.write("      <td width=\"36%\"> \r\n");
          out.write("        <input type=\"password\" name=\"password1\" size=\"16\" style=\"padding:0px; font-family: Arial; boder-right-color: #FFFFFF; border-left-width:1px; border-right-width:1px; border-top-width:1px; border-bottom-style:outset; border-bottom-width:1px\">\r\n");
          out.write("        <font color=\"#FF0000\">* </font></td>\r\n");
          out.write("      <td width=\"40%\"><font size=\"-1\">不超过20个字符</font></td>\r\n");
          out.write("    </tr>\r\n");
          out.write("    <tr> \r\n");
          out.write("      <td align=\"right\" width=\"24%\">再输入一次:</td>\r\n");
          out.write("      <td width=\"36%\"> \r\n");
          out.write("        <input type=\"password\" name=\"password2\" size=\"16\" style=\"padding:0px; font-family: Arial; boder-right-color: #FFFFFF; border-left-width:1px; border-right-width:1px; border-top-width:1px; border-bottom-style:outset; border-bottom-width:1px\">\r\n");
          out.write("        <font color=\"#FF0000\">* </font></td>\r\n");
          out.write("      <td width=\"40%\"><font size=\"-1\">重复输入自己的密码</font></td>\r\n");
          out.write("    </tr>\r\n");
          out.write("    <tr> \r\n");
          out.write("      <td align=\"right\" width=\"24%\">学号:</td>\r\n");
          out.write("      <td width=\"36%\"> \r\n");
          out.write("        <input type=\"text\" name=\"sno\" size=\"16\" style=\"padding:0px; font-family: Arial; boder-right-color: #FFFFFF; border-left-width:1px; border-right-width:1px; border-top-width:1px; border-bottom-style:outset; border-bottom-width:1px\">\r\n");
          out.write("        <font color=\"#FF0000\"> *</font> </td>\r\n");
          out.write("      <td width=\"40%\"><font size=\"-1\">必须填写,不可更改</font></td>\r\n");
          out.write("    </tr>\r\n");
          out.write("    <tr> \r\n");
          out.write("      <td align=\"right\" width=\"24%\">姓名:</td>\r\n");
          out.write("      <td width=\"36%\"> \r\n");
          out.write("        <input type=\"text\" name=\"name\" size=\"16\" style=\"padding:0px; font-family: Arial; boder-right-color: #FFFFFF; border-left-width:1px; border-right-width:1px; border-top-width:1px; border-bottom-style:outset; border-bottom-width:1px\">\r\n");
          out.write("        <font size=\"-1\" color=\"#FF0000\">*</font></td>\r\n");
          out.write("      <td width=\"40%\"><font size=\"-1\">请填写真实姓名</font></td>\r\n");
          out.write("    </tr>\r\n");
          out.write("    <tr> \r\n");
          out.write("      <td align=\"right\" width=\"24%\" height=\"31\">教师:</td>\r\n");
          out.write("      <td align=\"left\" width=\"36%\" height=\"31\"> \r\n");
          out.write("        <select name=\"tname\" size=\"1\" style=\"border-left-width: 1px; border-right-width: 1px; border-top-width: 1px\">\r\n");
          out.write("          <option value=\"teacherA\" selected>teacherA</option>\r\n");
          out.write("          <option value=\"teacherB\">teacherB</option>\r\n");
          out.write("          <option value=\"teacherC\">teacherC</option>\r\n");
          out.write("        </select>\r\n");
      

  4.   

    现在 还有问题吗
    你把202行已经注释了 // redirect with URL parameters
    现在运行是什么情况 关注ing
    !!
      

  5.   

    还是不行。我是用Dreamweaver UltraDev写的,这个页本来是正常运行的。但是加了一个判断用户名是否已经被注册以后,就出现了这样的错误。我用的方法是UltraDev自带的CheckNewUsername,所以不清楚为什么会这样。真是麻烦啦。