• Tomcat8配置数据库连接池


    1、所有的tomcat项目共用一个连接池配置

    1.1 修改conf->context.xml文件,在Context节点下配置

    <Resource
    name="jdbc/myDataSource"
    type="javax.sql.DataSource"
    driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    maxIdle="2"
    maxWait="5000"
    username="sa"
    password="xx"
    url="jdbc:sqlserver://127.0.0.1\SQLEXPRESS:1433;DatabaseName=ShopSystem"
    maxActive="4"/>

    说明:

    <!--name:DataSource的名称-->
    <!--type:数据源对应的java类型,一般设计为javax.sql.DataSource-->
    <!--username:数据库登陆名-->
    <!--password:数据库登陆密码-->
    <!--driverClassName:指定数据库JDBC驱动程序-->
    <!--url:指定数据库的URL-->
    <!--maxIdle:连接池处于空闲状态的数据库连接的最大数目,取0表示不受限制-->
    <!--maxWait:连接池中数据库连接处于空闲状态的最长时间(以毫秒为单位),取0表示无限制等待时间-->
    <!--maxActive:连接池处于活动状态的数据库连接的最大数目,去0表示不受限制-->

    1.2 修改tomcat的web.xml文件

    在web-app节点下配置:

    <resource-ref>
    <res-ref-name>jdbc/myDataSource</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>

    2、每个Web项目独立用自己的连接池配置

    2.1 在Web项目的META-INF目录下创建context.xml文件,内容如下

    <?xml version="1.0" encoding="UTF-8"?>
    <Context path="/">
    <Resource
    name="jdbc/myDS"
    type="javax.sql.DataSource"
    driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    maxIdle="2"
    maxWait="5000"
    username="sa"
    password="xx"
    url="jdbc:sqlserver://127.0.0.1\SQLEXPRESS:1433;DatabaseName=ShopSystem"
    maxActive="4"/>
    </Context>

    2.2  修改Web项目的WEB-INF目录下的web.xml文件

    在web-app节点下配置:

    <resource-ref>
    <res-ref-name>jdbc/myDS</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>

    3、不管用上面哪种连接池,都需要把数据库驱动jar文件拷贝到tomcat的lib目录下

    4、测试程序

    <%
    Context initContext=new InitialContext();
    Context envContext=(Context)initContext.lookup("java:comp/env");
    DataSource ds=(DataSource)envContext.lookup("jdbc/myDataSource");
    Connection connection=ds.getConnection();
    Statement statement=connection.createStatement();
    ResultSet resultSet=statement.executeQuery("select * from admin");
    while(resultSet.next()){
    out.print(resultSet.getString("a_name"));
    out.print("<br />");
    }
    resultSet.close();
    statement.close();
    connection.close();
    %>

  • 相关阅读:
    四个例子实战讲解.htaccess文件rewrite规则(转)
    unserialize反序列化错误的解决办法
    tp框架--------where("1")
    jq 鼠标点击跳转页面后 改变点击菜单的样式代码
    jq不懂的地方
    js产生随机数的几个方法
    js邮箱,汉字,数字 表单验证
    js&jQ判断checkbox表单是否被选中
    绝对好用Flash多文件大文件上传控件
    CKeditor从Word粘贴格式问题
  • 原文地址:https://www.cnblogs.com/zhouhb/p/5368256.html
Copyright © 2020-2023  润新知