建立下面的javabean,调用连接池:package dbbean;import dbbean.DBConnectionManager;
import java.sql.*;public class ConnectionInstance{
//所有对象共享一个连接池管理器
public DBConnectionManager connMgr; private Connection conn=null;
//构造函数,每创建一个对象,取得一个连接
public ConnectionInstance(){
connMgr = DBConnectionManager.getInstance();
this.conn = connMgr.getConnection("idb");
if (conn == null) {
System.out.println("不能获取数据库连接.");
}
}
//返回该连接
public Connection getConn(){
connMgr = DBConnectionManager.getInstance();
this.conn = connMgr.getConnection("idb");
return this.conn;
}
//返回连接回连接池
public void releaseConn(){
connMgr.freeConnection("idb", this.conn);
}
}然后再jsp中调用javabean,返回的Connection为null
import java.sql.*;public class ConnectionInstance{
//所有对象共享一个连接池管理器
public DBConnectionManager connMgr; private Connection conn=null;
//构造函数,每创建一个对象,取得一个连接
public ConnectionInstance(){
connMgr = DBConnectionManager.getInstance();
this.conn = connMgr.getConnection("idb");
if (conn == null) {
System.out.println("不能获取数据库连接.");
}
}
//返回该连接
public Connection getConn(){
connMgr = DBConnectionManager.getInstance();
this.conn = connMgr.getConnection("idb");
return this.conn;
}
//返回连接回连接池
public void releaseConn(){
connMgr.freeConnection("idb", this.conn);
}
}然后再jsp中调用javabean,返回的Connection为null
包括使用连接的。
<%@ page import="java.sql.*"%>
<%!
Connection conn=null;
%>
<jsp:useBean id="connIns" class="dbbean.ConnectionInstance" scope="page"/>
<%
conn=connIns.getConn();
if (conn==null)
{
out.print("不能建立连接");
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head><body>
</body>
</html>
总是显示不能建立连接,conn为null
import java.sql.*;public class ConnectionInstance{
//所有对象共享一个连接池管理器
public DBConnectionManager connMgr; private Connection conn=null;
//构造函数
public ConnectionInstance(){
connMgr = DBConnectionManager.getInstance();
}
//返回该连接
public Connection getConn(){
return connMgr.getConnection("idb");
}
//返回连接回连接池
public void releaseConn(){
connMgr.freeConnection("idb", this.conn);
}
}
在jsp使用,这个文件应该放在WEB-INF/classes目录下面。另外你的程序没有释放连接,应该这样写:
DBConnectionManager connMgr=DBConnectionManager.getInstance();
Connection conn = connMgr.getConnection("idb");
if (conn==null)
System.out.print("error");
int count = 0;
try{
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select count(*) from user_info");
rs.next();
count = rs.getInt(1);
stmt.close();
}
catch(SQLException e){ }
finally
{
connMgr.freeConnection("idb", conn);
}
为null,不只是什么原因????