小弟写了一个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!");
}
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!");
}
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;
}
ConDB c = new ConDB();
c.executeQuery("select * FROM student"); }
}
<%
ResultSet rs=sub.executeQuery("select * from student");
%>
改
<%
ConDB c = new ConDB();
ResultSet rs = c.executeQuery("select * FROM student");
%>
你又没有STATIC,你不NEW能不错? 还反正
看错了 你用了 STATIC 你把
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
改
Statement stmt = conn.createStatement();TRY