噢:忘了错误信息:
--------------------------------如下:
500 Servlet Exception
java.lang.NullPointerException
at _first._register_0confirm__jsp._jspService(/first/register_confirm.jsp:25)
at com.caucho.jsp.JavaPage.service(JavaPage.java:75)
at com.caucho.jsp.Page.subservice(Page.java:485)
at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182)
at com.caucho.server.http.Invocation.service(Invocation.java:312)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)
at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:342)
at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:272)
at com.caucho.server.TcpConnection.run(TcpConnection.java:137)
at java.lang.Thread.run(Thread.java:534)
--------------------------------------------------------------------------------
Resin 2.1.4 (built Fri Aug 2 14:16:52 PDT 2002)

解决方案 »

  1.   

    错误在这里:
     public void executeUpdate(String sql) {
        stmt = null;
        rs=null;
        try {
        conn = DriverManager.getConnection(sConnStr); 
        stmt = conn.createStatement();
        stmt.executeQuery(sql);
        stmt.close(); //在这里的时候你已经把数据库连接close掉了。在jsp里用的时候        conn.close();//当然出错啦!不要关闭试试看!
        } 
        catch(SQLException ex) { 
          System.err.println("aq.executeQuery: " + ex.getMessage());
        }
      }
      

  2.   

    可我没有调用这个 executeUpdate 方法啊。
      

  3.   

    呵呵,在executeQuery(String sql)中加些调试信息,看看rs在返回前是否为空。另外在executeQuery(String sql)再增加捕捉异常,把异常信息打印出来,有可能抛出SQLException之外的异常!
      

  4.   

    呵呵,看看executeQuery(String sql)里面是不是连数据库连接都没取到!
      

  5.   

    public void mydb() {//错误在这里。构造函数是没有返回值得。更没有void......
        try {
          Class.forName(sDBDriver).newInstance(); 
        }
        catch(java.lang.ClassNotFoundException e) {
          System.err.println("有错啦:mydb(): " + e.getMessage());
        }
      }
      

  6.   

    同意 CTaoHero(疯了的蚊子)不要以为statement一旦执行就把全部数据读入到了ResultSet,Result只是根据Cursor来读取记录的,next使得Cursor向下移动,指向要读取的记录,这个时候读操作才发生。大部分提供商的JDBC都是这样实现的吧,不知道是否有例外
      

  7.   

    不会啊。。这是连的SQLserver 我是改的一个例子,原先的例子是可以的,只是 access 数据库,,jsp也能正常工作。
    代码如下:--------------------------
    package mydb;
    import java.sql.*;public class mydb {
      String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
      String sConnStr = "jdbc:odbc:sunshine";
      private Connection conn = null;
      private Statement stmt = null;
      ResultSet rs = null;  public mydb() {
        try {
          Class.forName(sDBDriver); 
        }
        catch(java.lang.ClassNotFoundException e) {
          System.err.println("mydb(): " + e.getMessage());
        }
      }
      
      public ResultSet executeQuery(String sql) {
        rs = null;
        try {
        conn = DriverManager.getConnection(sConnStr); 
        stmt = conn.createStatement();
        rs = stmt.executeQuery(sql);
        } 
        catch(SQLException ex) { 
          System.err.println("aq.executeQuery: " + ex.getMessage());
        }
        return rs;
      }
      
      public void executeUpdate(String sql) {
        stmt = null;
        rs=null;
        try {
        conn = DriverManager.getConnection(sConnStr); 
        stmt = conn.createStatement();
        stmt.executeQuery(sql);
        stmt.close();
        conn.close();
        } 
        catch(SQLException ex) { 
          System.err.println("aq.executeQuery: " + ex.getMessage());
        }
      }  public void closeStmt(){
        try{
          stmt.close();
         }
        catch(SQLException e){
          e.printStackTrace();
         }
      }
      public void closeConn(){
        try{
          conn.close();
         }
        catch(SQLException e){
          e.printStackTrace();
         }
      }
    }
      

  8.   

    去掉你上面构造函数的void还不对吗?
      

  9.   

    呵呵,这个是我的,我们用的差不多哦。不行就copy吧,没有版权^_^package database;
    import java.sql.*;
    public class database
    {
      ResultSet rs=null;
      Connection conn=null;
      public database()
      {
        try
        {
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        }
        catch(java.lang.ClassNotFoundException e)
        {
          System.err.println("database():"+e.getMessage()) ;
        }
      }
     public ResultSet executeQuery(String sql)
     {
       rs=null;
       try
       {
         conn=DriverManager.getConnection("jdbc:odbc:kkk");
         Statement stmt=conn.createStatement();
         rs=stmt.executeQuery(sql);
       }
       catch(SQLException ex)
       {
         System.err.println("executesql:"+ex.getMessage());
       }
       return rs;
     }
     public int executeUpdate(String sql)
     {
       int i=0;
       try
       {
         conn=DriverManager.getConnection("jdbc:odbc:kkk");
         Statement stmt=conn.createStatement();
         stmt.executeUpdate(sql);
         i=1;
         return i;
       }
       catch(SQLException ex)
       {
         System.err.println("executesql:"+ex.getMessage());
         i=-1;
         return i;
       }
     }
    }