一,Tomcat配置數據源:
方式一:在WebRoot下面建文件夾META-INF,里面建一個文件context.xml,內容如下:
<Context>
<Resourcename="jdbc/test"auth="Container"type="javax.sql.DataSource"
maxActive="50"maxIdle="30"maxWait="10000"logAbandoned="true"
username="root"password="111111"driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/testdb"/>
</Context>
方式二:在tomcat6.0的目錄conf下面的context.xml中,修改原來的context標簽,改成內容如下:
<Context>
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resourcename="jdbc/test"auth="Container"type="javax.sql.DataSource"
maxActive="50"maxIdle="30"maxWait="10000"logAbandoned="true"
username="root"password="111111"driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/testdb"/>
</Context>
方式三:在配置虛擬目錄時,也就是在配置conf下面的server.xml時,在context標簽內改成如下形式:
<Contextpath="/WebRoot"reloadable="true"docBase="E:/workspace/DataSource/WebRoot">
<Resourcename="jdbc/test"auth="Container"type="javax.sql.DataSource"
maxActive="50"maxIdle="30"maxWait="10000"logAbandoned="true"
username="root"password="111111"driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/testdb"/>
</Context>
配置文件中Resource標簽中各屬性的含義:
driverClassName-JDBC所用到的數據庫驅動的類全名.
maxActive-連接池在同一時刻內所提供的最大活動連接數。
maxIdle-連接池在空閑時刻保持的最大連接數.
maxWait-當發生異常時數據庫等待的最大毫秒數(當沒有可用的連接時).
password-連接數據庫的密碼.
url-連接至驅動的URL.(為了向后兼容,DRIVERNAME也被允許.)
user-數據庫用戶名.
各種配置方式的范圍也應該是不一樣的。我在這就不細說了,總之就是在Context標簽下面配置個Resource標簽即可。
測試代碼:
ContextinitContext=newInitialContext();
ContextenvContext=(Context)initContext.lookup("java:/comp/env");
DataSourceds=(DataSource)envContext.lookup("jdbc/test");
System.out.println(ds.getConnection());
打印出來不是null應該就成功了。
注意,測試的時候要在tomcat內測試,也就是要在TOMCAT這個容器內(不要閑麻煩,寫個簡單的JSP頁面測下,用個<%...%>就可以了,相當簡單的)。