在Tomcat中配置数据库连接池
1.在tomcat安装目录下的conf的context.xml 的 <Context></Context>添加Resource项
<Context reloadable="true">
<WatchedResource>WEB-INF/web.xml</WatchedResource> //原有的
<WatchedResource>WEB-INF/web.xml</WatchedResource> //原有的
<Resource name="jdbc/oracleds" auth="Container" type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="scott"
password="tiger"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:ora9">
</Resource >
</Context>
</Context>
2.将用到的jdbc驱动类库导入到%Tomcat_Home%lib目录下
3.在web.xml文件中的web-app节点下加入如下代码形式:不配置也可以,应该是可选的。
<resource-ref>
<res-ref-name>jdbc/myoracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
</resource-ref>
4.在程序中的调用形式为:
Context context = new InitialContext();
DataSource ds = (DataSource)context.lookup("java:/comp/env/jdbc/oracleds");
Connection conn = ds.getConnection();
可以将上面的获取con的方法封装起来,供统一调用。
在项目中配置数据库连接池(两种方法)
第一种:使用Tomcat自带的DBCP数据源
在WebRoot下面建文件夹META-INF,里面建一个文件context.xml,
添加相应的内容
<Context reloadable="true">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/oracleds" auth="Container" type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="scott"
password="tiger"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:ora9">
maxActive="100"
maxIdle="30"
maxWait="10000"
username="scott"
password="tiger"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:ora9">
</Resource >
</Context>
</Context>
把数据库驱动jar包放在目录tomcat /lib里面
第二种:使用自己的DBCP数据源
在WebRoot下面建文件夹META-INF,里面建一个文件context.xml,
添加内容为:
<Context reloadable="true">
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/oracleds" auth="Container" type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory" //需要多添加的属性
maxActive="100"
maxIdle="30"
maxWait="10000"
username="scott"
password="tiger"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:ora9">
maxIdle="30"
maxWait="10000"
username="scott"
password="tiger"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:ora9">
</Resource >
</Context>
</Context>
这样做的:可以把配置需要jar包(commons-dbcp.jar和commons-pool.jar)直接放在自己项目的WEB-INF目录的lib里面,和web容器(Tomcat)无关。
把数据库驱动jar包放在目录tomcat /lib里面