1.局部数据库连接池配置(亲测可行)
每个Web项目单独用自己的连接池配置:把xml内容放入一个具体的项目目录
在该项目目录的META-INF,创建context.xml
内容如下:
<?xml version='1.0' encoding='utf-8'?>
<Context>
<Resource name="jdbc/mysql" auth="Container" type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/mydb"
username="root" password="root" maxActive="50" maxIdle="20" maxWait="10000" />
</Context>
<!--name:DataSource的名称-->
<!--type:数据源对应的java类型,一般设计为javax.sql.DataSource-->
<!--username:数据库登陆名-->
<!--password:数据库登陆密码-->
<!--driverClassName:指定数据库JDBC驱动程序-->
<!--url:指定数据库的URL-->
<!--maxIdle:连接池处于空闲状态的数据库连接的最大数目,取0表示不受限制-->
<!--maxWait:连接池中数据库连接处于空闲状态的最长时间(以毫秒为单位),取0表示无限制等待时间-->
<!--maxActive:连接池处于活动状态的数据库连接的最大数目,去0表示不受限制-->
并在该项目web.xml加入
<resource-ref>
<res-ref-name>jdbc/mysql</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
然后把JDBC导入到 WEB-INF 下的lib文件夹里,最好在项目中引入JDBC。
测试java代码:
private void init() {
try {
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mysql");
conn = ds.getConnection();
// Class.forName("com.mysql.jdbc.Driver").newInstance();
// String url = "jdbc:mysql://localhost/mydb";
// conn = DriverManager.getConnection(url,"root","root");
} catch (Exception e) {
e.printStackTrace();
}
}
2.全局数据库连接池配置(没配置成功)