在tomcat6.0中用jndi方式配置oracle数据库连接池
观察到的现象: tomcat启动后,直接用java类来调用连接池失败,用jsp页面来调用连接池成功,用jsp通过java类来调用连接池也成功。
对于这现象暂且这么理解: tomcat和java类分别是两个jvm进程,启动之后,没有关联,所以java类中并不知道tomcat配置的连接池,而jsp
调用java类获取连接池,从而使java类和tomcat属于一个进程。
下面是配置方法:
1.Tomcat 6.0\conf\context.xml文件中的<Context>...</Context>间加入

2.如果用Myeclipse发布项目后,Tomcat 6.0\webapps\项目名\WEB-INF\web.xml会自动生成如下信息,如果没有,手工添加
3.将数据库连接驱动包(ojdbc14.jar)放到Tomcat 6.0\lib和Tomcat 6.0\webapps\项目名\WEB-INF\lib目录下
4.获取连接池类

4.jsp调用java类

若改用c3p0连接池,
1.将1步中参数配置可改为
<Resource
auth="Container"
description="DB Connection"
driverClass="oracle.jdbc.driver.OracleDriver"
maxPoolSize="100"
minPoolSize="10"
acquireIncrement="3"
name="jdbc/gz"
user="ctwlan"
password="ctwlan"
factory="org.apache.naming.factory.BeanFactory"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
jdbcUrl="jdbc:oracle:thin:@10.21.3.95:1521:ctwlan" />
本文详细介绍了在Tomcat6.0环境中,如何通过JNDI方式配置Oracle数据库连接池,并解释了为什么使用JSP页面调用连接池能够成功而Java类调用失败的原因。提供了从配置文件修改到驱动包放置,再到获取连接池类的完整步骤。同时,展示了如何切换为C3P0连接池的方法,包括配置参数的调整及C3P0 jar包的引入。
&spm=1001.2101.3001.5002&articleId=7069437&d=1&t=3&u=3561e8580f7d40a7b6bdf30ff00f0001)
277

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



