開發環境:
MyEclipse5.5
Tomcat5.5
MsSql2000
數據源配置并不難,相對來說比較麻煩,別嚇著了.其實就是多個地方拷貝.
在Tomcat安裝目錄找到conf文件夾下的server.xml.打開在Host節點下編輯
<Resource
name="jdbc/emp"
auth="Container"
type="javax.sql.DataSource"
username="sa"
password="sa"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://localhost;DatabaseName=pubs"
maxActive="8"
maxIdle="4"
/>
name:屬性值可隨意取值,但不允許為空.
除Auth屬性值固定其它都隨需求而變.
例如:username的值,隨你數據庫登錄名而變動.
接下來,我們需要在Tomcat 5.5\conf\Catalina\localhost路徑下新建一個和工程名同樣的xml文件.
假設你新建的Web工程名叫JdbcDataSource,則JdbcDataSource.xml.
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Resource
name="jdbc/emp"
auth="Container"
type="javax.sql.DataSource"
username="sa"
password="sa"
driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://localhost;DatabaseName=pubs"
maxActive="8"
maxIdle="4"
/>

看清楚了吧,其實就是把你在server.xml輸入的拷貝過來就是了.
好了,我們現在切換到IDE,在當前的工程web.xml下再進行一次配置.
<resource-ref>
<res-ref-name>jdbc/emp</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
一切配置Ok,接下來我們來測試是否可行.
1
/** *//**
2
* Tomcat5.5連接池配置
3
* 數據庫為Ms2000
4
* @author NiuNiu
5
*
6
*/
7
public class Tomcat5_5_Pool
{
8
public static Connection getConnection()
9
{
10
Connection con=null;
11
try
{
12
//初始化查找
13
Context initCtx =new InitialContext();
14
//得到dataSource
15
Context envCtx =(Context)initCtx.lookup("java:comp/env");
16
DataSource dataSource=(DataSource)envCtx.lookup("jdbc/emp");
17
try
{
18
con=dataSource.getConnection();
19
} catch (SQLException e)
{
20
// TODO Auto-generated catch block
21
e.printStackTrace();
22
}
23
} catch (NamingException e)
{
24
// TODO Auto-generated catch block
25
e.printStackTrace();
26
}
27
return con;
28
}
29
}
如果getConnection()方法返回非空,就表示我們上述做的操作都正確了.
注意:
我們需要把DB驅動包也要拷貝到Tomcat 5.5\common\lib目錄下.
Context envCtx =(Context)initCtx.lookup("java:comp/env");
DataSource dataSource=(DataSource)envCtx.lookup("jdbc/emp");
java:comp/env是固定的,但在WebLogic服務器則可以不需要寫上.
jdbc/emp就是你所注冊的名啦.
參考資料:
http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html