程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Tomcat8配置數據庫連接池,tomcat8數據庫連接

Tomcat8配置數據庫連接池,tomcat8數據庫連接

編輯:JAVA綜合教程

Tomcat8配置數據庫連接池,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();
%>

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved