(記得將驅動包放到common\lib文件夾下)
TOMCAT 4.1是將Resoucre配置參數都看做是元素來配置的
而TOMCATE5.5以后都是把參數當作Resource元素的屬性來配置的,
還要注意的4.1中 的 <factory>元素在5.5以后就沒有了。
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
來看看4.1是如何配置的 在TOMCAT 目錄conf文件夾下找到server.xml再找到</host>元素將下面的代碼寫到
</HOST>元素前面即可:
<Context path="/mas" docBase="D:/web/voteTest/WebRoot" debug="0"
reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger"
timestamp="true"/>
<Resource name="jdbc/mas" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/mas">
<parameter>//在5.5以后就沒有這個元素了如果存在就會報錯
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>testonborrow </name>
<value>true</value>
</parameter>
<parameter>
<name>testonreturn </name>
<value>true</value>
</parameter>
<parameter>
<name>testwhileidle</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>100</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>username</name>
<value>wsq</value>
</parameter>
<parameter>
<name>password</name>
<value>wsq</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@192.168.3.177:1521:masenv</value>
</parameter>
</ResourceParams>
</Context>
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
tomcat 6.0配置數據源:
方法1:
直接在tomcat server.xml中配置將下面這段話寫在serverl.xml 中</host>之前
<Context path="/mas" docBase="D:/web/voteTest/WebRoot" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/mas"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@192.168.3.177:1521:masenv"
username="wsq" password="wsq"
maxIdle="20" maxWait="5000"
maxActive="100" removeAbandoned="true"
removeAbandonedTimeout="60" logAbandoned="true"
/>
</Context>
解釋一下:1.path是指定訪問該web應用的URL入口;
2.docBase指定web應用的文件路徑,可以是絕對路徑,也可以是相對于Host的appBase屬性的相對路徑;
3.type指定Resource所屬的JAVA類名
4.maxActive是DBCP中處于活動狀態的數據庫連接的最大數目,取0表示不受限制
5.maxIdle是DBCP中處于空閑狀態的數據庫連接的最大數目,取0表示不受限制
6.maxWait是是DBCP中的數據庫連接處于空閑狀態的最長時間(以毫秒為單位)取0表示無限期等待
7.username是數據庫登陸名
8.password是數據庫登陸口令
9.driverClassName是只定數據庫的jdbc驅動程序
10.url是指定連接數據庫的URL,masenv是我的數據庫名。
方法2 :
如果你是想將你的TOMCAT綁定到你IDE(eclipse)上啟動的話 可以采用這個方法 方法如下 : 在你項目WebRoot 文件下面搞個META-INF文件夾在建個context.xml文件 在此XML文件里配置數據源即可。內容如下: <?xml version="1.0" encoding="UTF-8"?> 說明同上
<Context path="/mas" docBase="D:/web/voteTest/WebRoot" debug="0" reloadable="true" crossContext="true">
<Resource name="jdbc/mas" auth="Container" type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@192.168.3.177:1521:masenv"
username="wsq" password="wsq" maxIdle="20" maxWait="5000"
maxActive="100" removeAbandoned="true"
removeAbandonedTimeout="60" logAbandoned="true"/>
</Context>
獲得數據源方法
/**
* 初始化數據庫連接
*
* @throws SQLException
*/
private static void loadDataSource()
throws SQLException {
try {
if (dataSource == null) {
Context context = new InitialContext();
DataSource dataSource = (DataSource)context.lookup("java:comp/env/jdbc/mas");
}
} catch (Exception e) {
throw new SQLException("數據庫命名服務錯誤:" + e.getMessage());
}
}
/**
* 取數據庫連接
*
* @return Connection
*
* @throws SQLException
*/
public static Connection getConnection() {
Connection conn = null;
try {
loadDataSource();
Connection conn = dataSource.getConnection();
} catch (SQLException sqle) {
throw new RuntimeException(sqle);
}
return conn;
}