为了提高数据库访问效率,将数据库连接交付给连接池管理。
配置方法如下:
Step 1、将mysql 数据库连接驱动放入到%tomcat%/common/lib 下;
Step 2、在tomcat 的conf目录下的server.xml文件中的
<GlobalNamingResources> </GlobalNamingResources>节点中加入,
<Resource
name=”jdbc/DBPool”
type=”javax.sql.DataSource”
username=”root” //database’s username
password=”admin” //database’s password
driverClassName=”com.mysql.jdbc.Driver”
url=”jdbc:mysql://localhost:3306/test”
maxActive=”4” //最大连接数0表示无限制
maxIdle=”2” //最大空闲数 0表示无限制
maxWait=”5000” //最大连接建立等待时间 -1表示无限制
</Resource>
Step 3、在项目的web.xml 中的<web-app></web-app>节点中加入:
<resource-ref>
<description>database pool</description>
<res-ref-name>jdbc/DBPoll</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>shareable</res-sharing-scope>
</resource-ref>
Step 4、在项目的META-INF 下建立context.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/">
<ResourceLink name="jdbc/DBPool" type="javax.sql.DataSource" global="jdbc/DBPool"/>
</Context>
Step 5、编写DatabasePool类,具体代码如下:
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax naming.NamingException;
public class DatabasePool throws SQLException{
public Connection getConnection(){
DataSource ds=null;
Connection conn=null;
try{
Context ct=new InitialContext();
ds=(DataSource)ct.lookup(“java:comp/enc/jdbc/DBPool”);
Conn=ds.getConnection();
}catch(NamingException e){
//process the exception
}
return conn;
}
}
Step 6、在jsp、action、servlet中调用DatabasePool类中的getCnnection方法便可。