java tomcat 数据源与连接池

第一步、
修改Tomcat安装目录中conf文件夹下的server.xml文件,在<host></host>标签中加入如下代码:
(适用tomcat5.0):
<Context path="/YPPM" docBase="YPPM" debug="0" crosscontext="true" reloadable="true">
            <!-- 设置资源的JNDI及其类型 -->
            <Resource name="jdbc/yppm" auth="Container" type="javax.sql.DataSource"/>
            <!-- 设置资源所要用到的参数 -->
            <ResourceParams name="jdbc/yppm">
                <!-- 设置用到的开源连接池 -->
                <parameter>
                    <name>factory</name>
                    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
                </parameter>
                <parameter>
                    <name>driverClassName</name>
                    <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
                </parameter>
                <parameter>
                    <name>url</name>
                    <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=YPPM</value>
                </parameter>
                <parameter>
                    <name>username</name>
                    <value>sa</value>
                </parameter>
                <parameter>
                    <name>password</name>
                    <value>sa</value>
                </parameter>
                
                <!-- 设定连接池相关信息 -->
                <parameter>
                    <name>maxActive</name>
                    <value>20</value>
                </parameter>
                <parameter>
                    <name>maxldle</name>
                    <value>5</value>
                </parameter>
                <parameter>
                    <name>maxWait</name>
                    <value>10000</value>
                </parameter>
            </ResourceParams>
        </Context>
(适用tomcat5.5以上请按下面的代码写):
<Context path="/YPPM" docBase="YPPM" debug="0" crosscontext="true" reloadable="true">
<Resource FONT-FAMILY: 'Courier New'; COLOR: black; FONT-SIZE: 10pt; mso-font-kerning: 0pt" lang=EN-US>yppmds" auth="Container"
type="javax.sql.DataSource"
maxActive="20" maxIdle="5" maxWait="10000"
username="sa" password="sa"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yppm"
/>        
</Context>
说明:<context>标签中的path和docbase可以设置成不同的名称,如path=/A docbase=B 那么在当你进入 http://localhost:8080/manager/html 页面的项目列表中会出现两个项目,即一个A和一个B 。当你选择从B名称进入项目时,那么所配置的数据源与连接池不起作用,只有选择A名称才起作用。即以path的值为准。当然,如果path和docbase同名,则默认从path的值进入。
另一种解释:当你的项目名称为C时,发布到Tomcat中后在 http://localhost:8080/manager/html 页面中一定会以C来命名你的项目,但是如果path的值你设置的并非是C而是D,那么选择的时候应该选择D进入项目,而非C。当然你也可以讲path,docBase的值都设置成同一个值(大小写也要一致),即你的项目名称,这样也是可以的,并且不会出现让你选择入口的情况.
第二步、
配置你项目中的web.xml文件在其中加入:
    (以上面server.xml的配置为例)
  <resource-ref>
    <description>restrant DataSource</description>
    <!-- res-ref-name对应server.xml中指定的Resource name -->
    <res-ref-name>jdbc/yppmds</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <!-- res-author说明是否由容器自动管理 -->
    <res-auth>Container</res-auth>
  </resource-ref>
­
第三步、
将数据库驱动放到tomcat/common/lib目录中。 如果是tomcat6.0的话,它没有common目录,则直接放在tomcat/lib目录中.
第四步、
       Connection con=null;        
//         Context ic=new InitialContext();
//         DataSource source=(DataSource)ic.lookup("java:comp/env/jdbc/yppm");//java:comp/env是固定格式,后面跟数据源名称,和web.xml文件里的res-ref-name对应
//         con=source.getConnection();
          
          
           //1、得到初始化上下文
           Context  initContext = new InitialContext();
           //2、得到拥有当前java运行环境资源的上下文
           //java:comp/env是固定格式,后面跟数据源名称,和web.xml文件里的res-ref-name对应
           Context envContext=(Context)initContext.lookup("java:/comp/env");
           //3、从该上下文对象中得到数据源头
           DataSource ds=(DataSource)envContext.lookup("jdbc/yppmds");
           //4、从数据源中得到一个连接对象
           con=ds.getConnection();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值