java tomcat 连接池配置_java web项目配置tomcat连接池的那些搓事

本文包含两部分内容。第一部分是在eclipse下配置项目自身的连接池,这块有问题的比较多主要解决两个异常。第二部分是在Tomcat下配置全局连接池,这块有官方文档问题较少,简单过一下。

本文的样例老规律,您可以在文尾下载到他。其中,测试获取连接写法如下:

Java代码

// 获取Content对象

javax.naming.Context ctx =newjavax.naming.InitialContext();

javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("java:/comp/env/jdbc/webdb");

Connection conn = ds.getConnection();

// 获取Content对象

javax.naming.Context ctx = new javax.naming.InitialContext();

javax.sql.DataSource ds = (javax.sql.DataSource)ctx.lookup("java:/comp/env/jdbc/webdb");

Connection conn = ds.getConnection();

第一部分:eclipse下配置连接池

==操作非常简单步骤如下==

1 ,编辑\WEB-INF\web.xml(如果没有看一下项目是不是j2ee或者java web吧,两个叫法同一回事)。

向尾部追加子结点具体内容如下:

Xml代码

jdbc/webdb

javax.sql.DataSource

Container

jdbc/webdb

javax.sql.DataSource

Container

2 ,编辑\META-INF\context.xml(如果看不到,新建一个吧)。

内容如下:

Xml代码

WEB-INF/web.xml

type="javax.sql.DataSource"

driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://10.0.2.128:3306/webdb?characterEncoding=UTF-8"

username="number"

password="znb041"

maxActive="200"

maxIdle="50"

maxWait="3000">

WEB-INF/web.xml

type="javax.sql.DataSource"

driverClassName="com.mysql.jdbc.Driver"

url="jdbc:mysql://10.0.2.128:3306/webdb?characterEncoding=UTF-8"

username="number"

password="znb041"

maxActive="200"

maxIdle="50"

maxWait="3000">

3 ,检查环境。

A)数据库jdbc包,已在lib目录,且被引入Build Path下;

B)数据库处于运行状态。

C)创建Tomcat6 Server,启动空跑成功,且访问到默认页面。

4 ,从eclipse启动“Tomcat v6.0 Server”。

==常见的两个报错==

1 ,“did not find a matching property”(跟池无关,细节自查)如下所示:

Java代码

2011-7-811:24:29org.apache.tomcat.util.digester.SetPropertiesRule

begin

警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property'source'

to'org.eclipse.jst.jee.server:webdemo'did not find a matching property.

2011-7-8 11:24:29 org.apache.tomcat.util.digester.SetPropertiesRule begin

警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source'

to 'org.eclipse.jst.jee.server:webdemo' did not find a matching property.

解决:

A)打开Servers视图(eclipse | show view | others... | Servers);

B)打开前面创建的“Tomcat v6.0 Server”(双击就成),停掉此Tomcat Server;

C)找到“Server Options”,给“publish module contexts to separate XML files”打勾选中,保存;

D)再次启动Tomcat Server,解决。

2 ,“Cannot create JDBC driver of class '' for connect URL 'null'”,如下所示:

Java代码

信息: Server startup in237ms

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver ofclass''

forconnect URL'null'

at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(

BasicDataSource.java:1452)

at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(

BasicDataSource.java:1371)

信息: Server startup in 237 ms

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class ''

for connect URL 'null'

at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(

BasicDataSource.java:1452)

at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(

BasicDataSource.java:1371)

解决:

出现这个提示,说明web.xml中的已被接受。只是查找不到指定的数据源。因此,跟网上所说的anyoneormore in{jdbc包啦,环境变量啦,tomcat配置啦,换MyEclipse啦,重装猫和日蚀啦,杀毒还原系统啦,上传你的代码啦。。。}都无关,只是简单地读不到源。因此,要检查的是:

A)context.xml标签值,是否真有空,或者null(1%可能,系舍入进来的);

B)玩个找茬游戏,看看这两字符串区别:“\META-INF\context.xml”,“\WEB-INF\context.xml”……之后,你懂的。

第二部分:Tomcat下配置连接池

==操作非常简单步骤如下==

1 ,编辑\conf\server.xml。

向尾部追加子结点(切记是追加,别把“.name=UserDatabase”的哥给整没了)。内容如下:

Xml代码

auth="Container"driverClassName="com.mysql.jdbc.Driver"

maxActive="200"maxIdle="50"maxWait="3000"

username="number"password="znb041"type="javax.sql.DataSource"

url="jdbc:mysql://10.0.2.128:3306/webdb?characterEncoding=UTF-8">

auth="Container" driverClassName="com.mysql.jdbc.Driver"

maxActive="200" maxIdle="50" maxWait="3000"

username="number" password="znb041" type="javax.sql.DataSource"

url="jdbc:mysql://10.0.2.128:3306/webdb?characterEncoding=UTF-8" >

2 ,编辑\conf\Catalina\localhost\webdemo.xml(文件名可随便起,没有就新建有就打开看看,结构一样就改改)。

内容样本如下:

Xml代码

global="jdbc/webdb"

type="javax.sql.DataSource"/>

global="jdbc/webdb"

type="javax.sql.DataSource" />

3 ,启动\tomcat*\bin\startup.bat,测试。如报异常,请参看第一部分。因为官方有文档,问题不大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值