配置Tomcat连接池(配置server.xml文件)

本文详细介绍如何在Tomcat中配置连接池,包括修改server.xml文件以定义数据源,设置连接池参数,如最大活跃连接数、最大空闲连接数等,并在web.xml中引用这些资源。

配置Tomcat连接池:

1、配置 conf/server.xml,创建DataSource资源,并且为其指定参数;

2、在web.xml中引用资源;

3、在javabean、servlet中使用资源;

server.xml文件内容

<!--path="/TomcatDbPools" 表示你想用什么样的字符访问站点,即站点的访问方式以/TomcatDbPools结尾

     例:http://localhost:8080/ TomcatDbPools

docBase="TomcatDbPools" 你的组件在什么地方放着 没有/则从webapps目录找

debug="0" reloadable="true"是固定的-->

<Context path="/TomcatDbPools" docBase="TomcatDbPools" debug="0" reloadable="true">

    <!--name  指定资源池的Resource的JNDI的名字 给连接池起的名字jdbc/TomcatDbPool1

         auth:管理权限  指定管理Resource的Manager,可以是Container或Application

         type:指出Resource所属的类名,是什么类型的数据源 本例是SQL的-->

        <Resource name="jdbc/TomcatDbPool1" auth="Container" type="javax.sql.DataSource"/>

        <ResourceParams name="jdbc/TomcatDbPool1">

指名为哪个连接池配置参数,即为jdbc/TomcatDbPool

            <!-- 指定DataResource的factory的名字-->

            <parameter>

                <name>factory</name>

                <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

            </parameter>

            <!-- 指定连接池中处于活动连接的最大数量 0表示不受限制         -->

            <parameter>

                <name>maxActive</name>

                <value>100</value>

            </parameter>

            <!--指定空闲连接的最大数量   0表示不受限制        -->

            <parameter>

                <name>maxIdle</name>

                <value>30</value>

            </parameter>

            <!-- 连接池中处于空闲状态的最大等待的毫秒数,-1表示无限等待         -->

            <parameter>

                <name>maxWait</name>

                <value>10000</value>

            </parameter>

            <!-- 连接的用户名和密码  -->

            <parameter>

                <name>username</name>

                <value></value>

            </parameter>

            <parameter>

                <name>password</name>

                <value></value>

            </parameter>

            <!-- 驱动程序 jdbc桥-->

            <parameter>

                <name>driverClassName</name>

                <value>sun.jdbc.odbc.JdbcOdbcDriver</value>

            </parameter>

            <!-- 数据库的Url        -->

            <parameter>

                <name>url</name>

                <value>jdbc:odbc:bookDSN</value>

            </parameter>

        </ResourceParams>

        <!--我们也可以指出多个资源,这样在web.xml中指出引用的是哪个就行了

        下面的是使用SqlServer2000的驱动来访问数据库

        前提是要将SqlServer的驱动拷贝到tomcat下的 common/lib目录下  -->

        <Resource name="jdbc/TomcatDbPool2" auth="Container" type="javax.sql.DataSource"/>

        <ResourceParams name="jdbc/TomcatDbPool2">

        <!-- 指定DataResource的factory的名字-->

            <parameter>

                <name>factory</name>

                <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

            </parameter>

            <!-- 指定连接池中处于活动连接的最大数量 0表示不受限制         -->

            <parameter>

                <name>maxActive</name>

                <value>100</value>

            </parameter>

            <!--指定空闲连接的最大数量   0表示不受限制        -->

            <parameter>

                <name>maxIdle</name>

                <value>30</value>

            </parameter>

            <!-- 连接池中处于空闲状态的最大等待的毫秒数,-1表示无限等待         -->

            <parameter>

                <name>maxWait</name>

                <value>10000</value>

            </parameter>

            <!-- 连接的用户名和密码  -->

            <parameter>

                <name>username</name>

                <value>sa</value>

            </parameter>

            <parameter>

                <name>password</name>

                <value></value>

            </parameter>

            <!-- 驱动程序 本地协议连接-->

            <parameter>

                <name>driverClassName</name>

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

            </parameter>

           <!-- 数据库的Url        -->

            <parameter>

                <name>url</name>

                <value>jdbc:microsoft:sqlserver://localhost//b:1433;DatabaseName=book</value>

            </parameter>

        </ResourceParams>

    </Context>

 

2、在web.xml中引用资源;

<?xml version="1.0" encoding="GB2312"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

    <welcome-file-list>

        <welcome-file>index.html</welcome-file>

    </welcome-file-list>

 

    <!-- 在此处之处引用的是谁

    <resource-ref>

        <description>ConnectionPool</description>

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

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

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

    </resource-ref>

    -->

    <!--我们在server.xml中配置了多个Resource,所以此处要指出来用的是哪个Pool.-->

    <resource-ref>--资源引用

        <description>ConnectionPool</description>

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

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

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

    </resource-ref>

</web-app>

 

3、在javabean、servlet中使用资源;

public void openConnection1(){

        try

        {   /*Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

            String url="jdbc:odbc:bookDSN";

            conn=DriverManager.getConnection(url,"",""); */

 

            //获取连接的方式变化了(使用连接池)

            Context context=new InitialContext();

            if(context==null) {

                throw new Exception("No such Context");

            }          

            //java:comp/env/是固定写法   jdbc/TomcatDbPool1是serverl.xml中的资源的名字

            //用context.lookup方法从jdbc/TomcatDbPool1中得到一个数据源

            DataSource ds=(DataSource)context.lookup("java:comp/env/jdbc/TomcatDbPool1");

            conn=ds.getConnection();

            System.out.println("通过tomcat连接池创建连接成功!");

        }catch(Exception e) {

            System.out.println(e.getMessage());     }

 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值