小弟写了一个java连接mysql的代码,直接加入main方法测试成功。但是在jsp页面中调用的时候总是说有指针悬空。还望各位高手指教哈。代码如下:import java.sql.*;
public class ConDB { /**
 * @param args
 */

public static Connection init(){
 Connection conn = null;
String driver = "com.mysql.jdbc.Driver";         
        
        String url = "jdbc:mysql://localhost:3306/test";        
       
        String user = "root";        
        String password = "123";              try {
        
         Class.forName(driver);          
         conn = DriverManager.getConnection(url, user, password);  
         if(!conn.isClosed())
             System.out.println("Succeeded connecting to the Database!");     
}

解决方案 »

  1.   

    catch(ClassNotFoundException e) {
                System.out.println("Sorry,can`t find the Driver!");
                e.printStackTrace();
               } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return conn; 
    }
    public ResultSet executeQuery(String sql)
      {
      ResultSet rs = null;
        try {
          rs = null;
          //System.out.println(url);
          Connection conn= ConDB.init();
          //System.out.println(url);
          Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
          rs = stmt.executeQuery(sql);
          while (rs.next()){
           System.out.println(rs.getString(1));
          }
        }
        catch (SQLException ex) {
     System.out.println("执行错误");  
     ex.printStackTrace();
     }
        return rs;
      }
      

  2.   

     public static void main(String args[]){
           ConDB c = new ConDB();
           c.executeQuery("select * FROM student");      }
                 
    }
      

  3.   

    但是在jsp中这样调用就报错:
     <% 
        ResultSet rs=sub.executeQuery("select * from student");
        %>
      

  4.   

    指针悬空是不是指针为null,如果是,说明你的jsp的sub为null,好好看看你的jsp,sub有没有初始化
      

  5.   



    <%
       ConDB c = new ConDB();
       ResultSet rs = c.executeQuery("select * FROM student");
    %>
      

  6.   

    直接引用javabean的时候就已经创建对象了。所以不必像楼上那样new一个对象。我也测试对象是否为空,明显不为空。反正一旦执行ResultSet rs = c.executeQuery("select * FROM student");就出错。。无语了
      

  7.   


    你又没有STATIC,你不NEW能不错? 还反正
      

  8.   


    看错了 你用了 STATIC 你把
    Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

    Statement stmt = conn.createStatement();TRY
      

  9.   

    如果你用的是jsp bean标签我相信你的是对的,如果不是那就错了