軟件環(huán)境:Tomcat5.5.15,Eclipse3.1.2,MyEclipse4.1,MySQL5.0.15,Resin3.0.18
配置過程:
一、下載必要的jar包。有四個(gè)包要下載(網(wǎng)上有貼子說只要下面前三個(gè)包就可以了,但我在配置的時(shí)候如果沒有第四個(gè)包會(huì)報(bào)錯(cuò))。
http://apache.linuxforum.net/dist/jakarta/commons/dbcp/binaries/commons-dbcp-1.2.zip
http://apache.linuxforum.net/dist/jakarta/commons/pool/binaries/commons-pool-1.2.zip
http://apache.linuxforum.net/dist/jakarta/struts/struts-legacy/struts-legacy-1.0.zip
http://apache.linuxforum.net/dist/jakarta/commons/collections/binaries/commons-collections-3.1.zip
把這四個(gè)jar包放到web應(yīng)用的WEB-INF/lib目錄下,還有要把MySQL的驅(qū)動(dòng)程序包也放到這里(也可以把數(shù)據(jù)庫的驅(qū)動(dòng)包放到%Tomcat_Home%/common/lib目錄下或%Resin_Home%/lib目錄下,這樣在啟動(dòng)Web服務(wù)器的時(shí)候就會(huì)加載這個(gè)包,服務(wù)器和Web應(yīng)用都可以使用驅(qū)動(dòng)程序類)
二、在struts-config.xml中添加Data Source。MyEclipse的Design模式下可以可視化地編輯struts-config.xml和添加Data Source,但它在struts-config.xml中生成的數(shù)據(jù)源的代碼是錯(cuò)誤的!就是因?yàn)檫@個(gè)耽誤了我很多時(shí)間!
我們手工編輯代碼:
<data-sources>
<data-source key="datasource" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="password" value="admin" />
<set-property property="minCount" value="3" />
<set-property property="maxCount" value="10" />
<set-property property="username" value="admin" />
<set-property property="driverClassName" value="com.mysql.jdbc.Driver" />
<set-property property="description" value="test" />
<set-property property="url" value="jdbc:mysql://localhost/test" />
<set-property property="readOnly" value="false" />
<set-property property="autoCommit" value="true" />
</data-source>
</data-sources>
如果要配置多個(gè)data source,可以給每個(gè)data source指定不同的key,然后在程序中根據(jù)key指定要引用的數(shù)據(jù)源。
三、測試數(shù)據(jù)源。配置好以后就可以在ActionServlet中使用了。
DataSource ds = getDataSource(request,"datasource");
Connection conn = ds.getConnection();
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SQL String");
附: Struts1.1中struts-config.xml的配置:
<data-sources >
<data-source key="datasource" type="org.apache.struts.util.GenericDataSource">
<set-property property="password" value="admin" />
<set-property property="minCount" value="2" />
<set-property property="maxCount" value="10" />
<set-property property="user" value="admin" />
<set-property property="driverClass" value="com.mysql.jdbc.Driver" />
<set-property property="description" value="test" />
<set-property property="url" value="jdbc:mysql://localhost/test" />
<set-property property="readOnly" value="false" />
<set-property property="autoCommit" value="true" />
</data-source>
</data-sources>
注意:藍(lán)色字體的部分是1.1和1.2在配置上不一樣的地方。