tomcat 7配置數據庫連接池,使用SQL Server2005實現


昨 天看了一些網上的tomcat數據庫連接池配置的東西,但是一直沒配好,主要原因是網上的文章幾乎沒有針對tomcat 7進行配置的,而且針對SQL SERVER的也不多,今天上午看了官方的文檔,花了一上午時間終於配置好了數據庫連接池,這里發給大家看看,如果有什么疑問就留言吧。 

首先我們需要向項目中導入tomcat-dbcp.jar 、servlet-ap.jar和sql server的驅動sqljdbc4.jar 包到 web-inf 文件夾下的lib目錄 。 

然后增加context.xml 

這 里有兩種方法,第一種是在tomcat程序目錄下面的conf/context.xml里面修改,這里修改之后所有的程序都將覆蓋數據庫連接池,但是 這種方法不夠靈活。這里我們選擇第二種方法 在項目的Web-content/meta-inf 目錄下創建一個context.xml文件,在里面添加如下內容: 

<Context path="/SYSDEMO" docBase="SYSDEMO" 

reloadable="true" crossContext="true"> 



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

maxActive="100" maxIdle="30" maxWait="10000" 

username="lenovo" password="lenovo" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" 

url="jdbc:sqlserver://202.115.90.241:1433;DatabaseName=SYSDEMO"/> 



</Context> 



這里需要修改的是 將所有的SYSDEMO改為你自己的使用的數據庫的名稱 

將driverClassName改為你所使用數據庫的驅動,這里是SQL SERVER的驅動。 

將url改為jdbc鏈接該數據庫的地址,這里是SQL SERVER的地址, 

將username 、password改為你自己數據庫用戶名和密碼 

maxActive="100" maxIdle="30" maxWait="10000" 

可以將這三個參數進行修改, 

第一個是最大活動的連接數 

第二個是最大的未連接數 

第三個是最長的等待時間,單位是毫秒 



然后再修改項目的webContent/web-inf/web.xml文件 

添加如下內容 




<resource-ref> 

<description>DB Connection</description> 

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

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

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

</resource-ref> 



這里必須要改的是  <res-ref-name>jdbc/SYSDEMO</res-ref-name> 

改為 jdbc/你自己的數據庫 



好了然后就可以使用了。 



如下是我測試的servlet文件 



import java.io.IOException; 

import java.sql.Connection; 

import java.sql.SQLException; 



import javax.naming.Context; 

import javax.naming.InitialContext; 

import javax.servlet.ServletException; 

import javax.servlet.annotation.WebServlet; 

import javax.servlet.http.HttpServlet; 

import javax.servlet.http.HttpServletRequest; 

import javax.servlet.http.HttpServletResponse; 

import javax.sql.DataSource; 



@WebServlet("/TestPool") 

public class TestPool extends HttpServlet { 

private static final long serialVersionUID = 1L; 

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

try{ 

Context initContext = new InitialContext(); 

Context envContext  = (Context)initContext.lookup("java:/comp/env"); 

DataSource ds = (DataSource)envContext.lookup("jdbc/SYSDEMO"); 

Connection conn = ds.getConnection(); 

System.out.println("成功了。。。。。。。。。。"); 

}catch(Exception e){ 

System.out.println("出錯了。。。。。。。。。。。。。。。。。。"); 

e.printStackTrace(); 









將 DataSource ds = (DataSource)envContext.lookup("jdbc/SYSDEMO"); 

“jdbc/SYSDEMO” 的sysdemo改為你前面使用的數據庫的名稱即可。 

好了。大功告成。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM