您的位置:首页 > 数据库 > Oracle

Tomcat5.0连接池配置(oracle / mysql / sqlserver2000)

2012-03-09 17:27 190 查看
Tomcat5.0连接池配置(oracle / mysql / sqlserver2000)

这里给出我们最常用的几种数据库的配置,环境: tomcat5.0; oracle_9i, sqlserver2000 sp4 , mysql5.0。

总的来说在tomcat5.0配置连接池有4项工作要做。(前提是你的Tomcat运行正常)

1、首先要在Tomcat 目录 %CATALINA_HOME%conf\Catalina\localhost\ 下建一个与你

的WebApp服务一样的名称的XML文件YouWeb.xml。(后面叙述用此例名称)

2、在此XML文件中配置一个Context节点,详见下面叙述。

3、在你的项目工程文件下的 WEB-INf\web.xml中配置与Context节点对应的数据源,详

见下面叙述。

4、配置结束、用代码即可实现调用,详见下面叙述。

按照上面的流程,我将一一道来,首先我们来配置Oracle。

=================================================================================

Oracle数据源配置:

1,在 %CATALINA_HOME%\conf\Catalina\localhost\ 目录下建一个 YouWeb.xml。

2,在YouWeb.xml文件中配置如下信息:

<?xml version='1.0' encoding='utf-8'?>

<!-- Context节点的path属性就是你的WebApp服务名,与上面同。

reloadable 如果这个属性设为true,Tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动。如果监测到有class文件被更新,服务器会自动重新加载Web应用。

docBase 指定Web应用的文件路径,可以给定绝对路径,也可以指定相对于Host的appBase属性的相对路径。如果Web采用开放目录结构,则指定Web应用的根目录;如果Web应用是个WAR文件,则指定WAR文件的路径。

-->

<Context path="/YouWeb" reloadable="true" docBase="D:\YouProject\YouWeb">

<!--注意:Resource节点里的name 要与下面的ResourceParams 节点里的name要一致。名字可以任意取,但一定要一致。-->

<Resource name="jdbc/oracle" type="javax.sql.DataSource"/>

<!--ResourceParams节点配置了访问数据库的用户名和密码、驱动等,这里不在叙述。-->

<ResourceParams name="jdbc/oracle">

<parameter>

<name>maxWait</name>

<value>5000</value>

</parameter>

<parameter>

<name>maxActive</name>

<value>20</value>

</parameter>

<parameter>

<name>password</name>

<value>tiger</value>

</parameter>

<parameter>

<name>url</name>

<value>jdbc:oracle:thin:@localhost:1521:oraDB</value>

</parameter>

<parameter>

<name>driverClassName</name>

<value>oracle.jdbc.driver.OracleDriver</value>

</parameter>

<parameter>

<name>maxIdle</name>

<value>10</value>

</parameter>

<parameter>

<name>username</name>

<value>scott</value>

</parameter>

</ResourceParams>

</Context>

3,在你的项目工程目录WEB-INf\web.xml中配置如下信息:

<!--注意:res-ref-name节点里的名字要与上面的ResourceParams和Resource节点里的name要一致。名字可以任意取,但一定要一致。-->

<resource-ref>

<res-ref-name>jdbc/oracle</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

4,最后,在你和程序中使用如下代码即可取得连接:

InitialContext ctx = new InitialContext();

//这里的java:comp/env是前缀,java语言规范,后面跟的是你Web.xml文件中res-ref-name节点中的名字。

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

Connection conn = ds.getConnection();

同样对于其他的数据库

总结:

发现这三种数据源的配置基本上是一样的;所以,只需要会配一种,其它的就都没有问题。希望上面的叙述能给有需要的朋友一些帮助。下面的是同个项目可以连接不同的数据库的配置集合

下面是三个数据源一起配置的XML文件:

<?xml version='1.0' encoding='utf-8'?>

<Context path="/YouWeb" reloadable="true" docBase="D:\YouProject\YouWeb">

<Resource name="jdbc/oracle" type="javax.sql.DataSource"/>

<Resource name="jdbc/sqlserver" type="javax.sql.DataSource"/>

<Resource name="jdbc/mysql" type="javax.sql.DataSource"/>

<ResourceParams name="jdbc/oracle">

<parameter>

<name>maxWait</name>

<value>5000</value>

</parameter>

<parameter>

<name>maxActive</name>

<value>20</value>

</parameter>

<parameter>

<name>password</name>

<value>tiger</value>

</parameter>

<parameter>

<name>url</name>

<value>jdbc:oracle:thin:@localhost:1521:oraDB</value>

</parameter>

<parameter>

<name>driverClassName</name>

<value>oracle.jdbc.driver.OracleDriver</value>

</parameter>

<parameter>

<name>maxIdle</name>

<value>10</value>

</parameter>

<parameter>

<name>username</name>

<value>scott</value>

</parameter>

</ResourceParams>

<ResourceParams name="jdbc/sqlserver">

<parameter>

<name>maxWait</name>

<value>5000</value>

</parameter>

<parameter>

<name>maxActive</name>

<value>20</value>

</parameter>

<parameter>

<name>password</name>

<value>sa</value>

</parameter>

<parameter>

<name>url</name>

<value>jdbc:microsoft:sqlserver://localhost;DatabaseName=dbname</value>

</parameter>

<parameter>

<name>driverClassName</name>

<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>

</parameter>

<parameter>

<name>maxIdle</name>

<value>10</value>

</parameter>

<parameter>

<name>username</name>

<value>sa</value>

</parameter>

</ResourceParams>

<ResourceParams name="jdbc/mysql">

<parameter>

<name>maxWait</name>

<value>5000</value>

</parameter>

<parameter>

<name>maxActive</name>

<value>20</value>

</parameter>

<parameter>

<name>password</name>

<value>root</value>

</parameter>

<parameter>

<name>url</name>

<value>jdbc:mysql://localhost/mysqlDBName</value>

</parameter>

<parameter>

<name>driverClassName</name>

<value>org.gjt.mm.mysql.Driver</value>

</parameter>

<parameter>

<name>maxIdle</name>

<value>10</value>

</parameter>

<parameter>

<name>username</name>

<value>root</value>

</parameter>

</ResourceParams>

</Context>

=========================

WEB-INf\web.xml中配置如下信息:

<resource-ref>

<res-ref-name>jdbc/oracle</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

<resource-ref>

<res-ref-name>jdbc/sqlserver</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

<resource-ref>

<res-ref-name>jdbc/mysql</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: