進入首頁的時候偶爾會報空指標錯誤,網上查了一下雖然知道是資料庫連接問題,但是不知道如何解決。首頁需要多次查詢資料庫得出不同表的資料到頁面呈現,其他單次查詢的頁面就不會報這樣的錯。有人指導一下么

servlet:

dao(其他一樣我就貼一段):

資料庫連接工具:
public class DBUtil {
private static Connection conn;
private static Statement stmt;
private static PreparedStatement pstmt ;
private static DBUtil instance = new DBUtil();
private DBUtil() {}
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static DBUtil getInstance() {
return instance;
}
public static Connection getConnection() {
try {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/xchcxxgl", "root", "a+123456");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
public Statement getStatement() {
Connection conn = getConnection();
try {
if(conn != null) {
stmt = conn.createStatement();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return stmt;
}
public static PreparedStatement getPreparedStatement(String sql) {
Connection conn = getConnection();
try {
if(conn != null) {
pstmt = conn.prepareStatement(sql);
}
}catch(SQLException e) {
e.printStackTrace();
}
return pstmt;
}
public static void closeDBResources() {
try {
if(pstmt != null && !pstmt.isClosed()) {
pstmt.close();
}
if(stmt != null && !stmt.isClosed()) {
stmt.close();
}
if(conn != null && !conn.isClosed()) {
conn.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
}
}
uj5u.com熱心網友回復:
錯誤就是那個getInt("field")報錯出來的吧。這個,如果這個欄位不存在,或者里面的值不是數字,會回傳什么呢? 不可能回傳0吧,
建議:將這個getInt改成 getString ,你仔細看看到底是啥吧。
uj5u.com熱心網友回復:
這次剛好是你說的rs.getInt()報錯,但是下一次就可能是另外一個rs.getString報錯,位置不固定的,報錯也不是每次都有轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/195420.html
標籤:Web 開發
