• 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文件,内容如下

    <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();
    %>

    推荐极客学院文章 点击

  • 相关阅读:
    关于Dll、Com组件、托管dll和非托管dll的理解
    委托-异步调用-泛型委托-匿名方法-Lambda表达式-事件
    类静态和实例化执行顺序优先级(静态构造函数、静态变量、静态方法)
    ActionFilter的四个方法使用场景
    C# 中? 和 ?? 在变量中的使用
    Nginx 安装配置
    jetty + maven + (frontend) + eclipse
    plsql function
    [Postgres] drop database , but the database is being accessed by other users
    js在table中添加tbody块,方便整块的添加和删除
  • 原文地址:https://www.cnblogs.com/kamil/p/6382473.html
Copyright © 2020-2023  润新知