分类:
2009-01-06 17:19:55
Tomcat的数据库连接池是使用Jakarta-Commons项目中Database Connection Pool,包含下列组件:
Jakarta-Commons DBCP 、Jakarta-Commons Collections和Jakarta-Commons Pool。
这些库文件包必须和JDBC驱动程序一起安装在$CATALINA_HOME/common/lib这个目录下。
如果检查发现没有,请到中下载相应的库文件包。
在$CATALINA_HOME/common/lib必须有下列包:
commons-collections.jar
commons-dbcp.jar
commons-pool.jar
数据库驱动:
mysql-connector-java-3.0.7-stable-bin.jar //MySQL的驱动程序。
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="sa"
password="sa"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@ip:端口:sid"/>
更改web.xml如下:
这样在Web容器中,通过java:comp/env/jdbc/userDB就可以寻找到jdbc/userDB的连接池。注意,在Java代码中写JNDI Name时,要加上java:comp/env/,这也是通用规定。
/*****用连接池获得连接的代码***********/
public Connection getDBConnect(){
// TODO 自动生成方法存根
Connection conn=null;
try{
Context initCtx = new InitialContext();
Context ctx = (Context) initCtx.lookup("java:/comp/env");
DataSource ds = (DataSource) ctx.lookup("jdbc/book");
conn = ds.getConnection();
if(conn != null){
System.out.println("获得连接");
}else{
System.out.println("没有获得连接");
}
}catch(Exception ex){
ex.printStackTrace();
}
return conn;
}
//下面是JSP获取连接的测试代码
<%
Connection conn = null;
DBConnect db = new DBConnect();
try{
conn = db.getDBConnect();
if(conn != null){
out.println("获得连接");
}else{
out.println("无连接");
}
out.println("
");
}catch(Exception ex){
out.println(ex.getMessage());
}finally{
try{
if(conn != null){
conn.close();
conn = null;
}
}catch(Exception ex){
//不处理异常
}
}
%>
编写jsp测试代码
在应用的目录下建立一个Test.jsp文件,代码如下:
"">
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page session="false" %>