方法一:在工程META-INF下面新建一个Context.xml,内容如下
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="E:\MyEclipseWorkspace\MyProject\webapp" reloadable="false">
<!-- DBCP -->
<Resource name="jdbc/jdbcName"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:orcl"
username="TEST"
password="TEST_2013"
maxActive="16"
maxIdle="5"
maxWait="12000"
timeBetweenEvictionRunsMillis="60000"
numTestsPerEvictionRun="16"
minEvictableIdleTimeMillis="600000"
removeAbandoned="true"
removeAbandonedTimeout="180"
logAbandoned="true"
validationQuery="select 1 from dual"
validationQueryTimeout="3"
testOnBorrow="false"
testOnReturn="false"
testWhileIdle="true"/>
</Context>
使用这种方法部署的时候,tomcat会自动在conf\Catalina\localhost中新增以工程名命名的xml文件,如下面的方法二。如果第一次启动有问题,可以把tomcat关掉重启,应该就可以了。
方法二:在tomcat目录conf\Catalina\localhost中新增以工程名命名的xml,如MyProject.xml,里面的内容如下。这种方式不需要重新部署到tomcat中,可以直接启动tomcat进行测试。
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="E:\MyEclipseWorkspace\MyProject\webapp" reloadable="false">
<!-- DBCP -->
<Resource name="jdbc/jdbcName"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:orcl"
username="TEST"
password="TEST_2013"
maxActive="16"
maxIdle="5"
maxWait="12000"
timeBetweenEvictionRunsMillis="60000"
numTestsPerEvictionRun="16"
minEvictableIdleTimeMillis="600000"
removeAbandoned="true"
removeAbandonedTimeout="180"
logAbandoned="true"
validationQuery="select 1 from dual"
validationQueryTimeout="3"
testOnBorrow="false"
testOnReturn="false"
testWhileIdle="true"/>
</Context>
还有一种方法,听说是在server.xml中配置,不过一直没整出来,推荐使用第二种,简单,方便。第一种还会向tomcat中部署工程,留一堆工程数据。
本文详细介绍了在Tomcat中配置数据库连接池的两种方法:通过在工程的META-INF目录下创建Context.xml文件和在confCatalinalocalhost目录下创建以工程名命名的xml文件。同时提供了配置内容示例,并建议使用后者方式,因为它更简单方便,避免了将工程部署到Tomcat中导致的数据堆积问题。
267

被折叠的 条评论
为什么被折叠?



