一,Tomcat配置資料來源:
方式一:在WebRoot下面建資料夾META-INF,裡面建一個檔案context.xml,內容如下:
<Context>
<Resource name="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標籤,改成內容如下:
<WatchedResource>WEB-INF/web.xml</WatchedResource>
方式三:在配置虛擬目錄時,也就是在配置conf下面的server.xml時,在context標籤內改成如下形式:
<Context path="/WebRoot" reloadable="true" docBase="E:/workspace/DataSource/WebRoot" >
配置檔案中Resource標籤中各屬性的含義:
driverClassName - JDBC 所用到的資料庫驅動的類全名.
maxActive - 連線池在同一時刻內所提供的最大活動連線數。
maxIdle - 連線池在空閒時刻保持的最大連線數.
maxWait - 當發生異常時資料庫等待的最大毫秒數 (當沒有可用的連線時).
password - 連線資料庫的密碼.
url - 連線至驅動的URL. (為了向後相容, DRIVERNAME也被允許.)
user - 資料庫使用者名稱.
各種配置方式的範圍也應該是不一樣的。我在這就不細說了,總之就是在Context標籤下面配置個Resource標籤即可。
測試程式碼:
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/test");
System.out.println(ds.getConnection());
打印出來不是null應該就成功了。
注意,測試的時候要在tomcat內測試,也就是要在TOMCAT這個容器內(不要閒麻煩,寫個簡單的JSP頁面測下,用個<%...%>就可以了,相當簡單的)。
一,Tomcat配置資料來源:
方式一:在WebRoot下面建資料夾META-INF,裡面建一個檔案context.xml,內容如下:
<Context>
<Resource name="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>
<Resource name="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標籤內改成如下形式:
<Context path="/WebRoot" reloadable="true" docBase="E:/workspace/DataSource/WebRoot" >
<Resource name="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標籤即可。
測試程式碼:
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/test");
System.out.println(ds.getConnection());
打印出來不是null應該就成功了。
注意,測試的時候要在tomcat內測試,也就是要在TOMCAT這個容器內(不要閒麻煩,寫個簡單的JSP頁面測下,用個<%...%>就可以了,相當簡單的)。