隨筆 - 72  文章 - 28  trackbacks - 0
          <2006年11月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          常用鏈接

          留言簿(4)

          隨筆分類(66)

          隨筆檔案(72)

          文章檔案(19)

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          數據庫連接池配置很簡單,下面來介紹一下配置過程。
          一、 Tomcat簡介
          Tomcat是Apache Jakarta的子項目之一,是Sun公司推薦的JSP、Servlet容器。作為一款優秀的應用服務器,Tomcat提供了數據庫連接池、SSL、Proxy等許多通用組件功能,其中連接池是4.0以上版本的新增功能,應用非常廣泛。
          二、 該文配置環境
          JDK1.5+Tomcat5.0.28+Sql Server 2000?+WinXP2
          ?首先先安裝JDK和Tomcat5.0.28,并配置相關的環境變量。保證運行環境正常以后,下面就可以配置數據庫連接池了。
          三、配置步驟
          這里,新建一個Tomcat項目,名字為testexample,把這個項目放到webapps文件夾下,,JNDI名設為jdbc/blog,數據庫服務器IP為localhost,配置步驟如下。
          第一步:配置server.xml
          打開conf文件夾下的server.xml文件,找到<Host>,在<HOST>和</HOST>中間加入如下的代碼,
          < Context?path = " /testexample " ?docBase = " testexample " ?reloadable = " true " >
          ????????????????????
          < Resource?name = " jdbc/blog " ?scope = " Shareable " ?type = " javax.sql.DataSource " />
          ????????????????????
          < ResourceParams?name = " jdbc/blog " >
          ????????????????????????
          < parameter >
          ????????????????????????????
          < name > factory </ name >
          ????????????????????????????
          < value > org.apache.commons.dbcp.BasicDataSourceFactory </ value >
          ????????????????????????
          </ parameter >
          ????????????????????????
          < parameter >
          ????????????????????????????
          < name > url </ name >
          ????????????????????????????
          < value > jdbc:microsoft:sqlserver: // 127.0.0.1:1433;DatabaseName=pubs</value>
          ???????????????????????? </ parameter >
          ????????????????????????
          < parameter >
          ????????????????????????????
          < name > driverClassName </ name >
          ????????????????????????????
          < value > com.microsoft.jdbc.sqlserver.SQLServerDriver </ value >
          ????????????????????????
          </ parameter >
          ????????????????????????
          < parameter >
          ????????????????????????????
          < name > username </ name >
          ????????????????????????????
          < value > sa </ value >
          ????????????????????????
          </ parameter >
          ????????????????????????
          < parameter >
          ????????????????????????????
          < name > password </ name >
          ????????????????????????????
          < value > sa </ value >
          ????????????????????????
          </ parameter >
          ????????????????????????
          < parameter >
          ????????????????????????????
          < name > maxWait </ name >
          ????????????????????????????
          < value >- 1 </ value >
          ????????????????????????
          </ parameter >
          ????????????????????????
          < parameter >
          ????????????????????????????
          < name > maxIdle </ name >
          ????????????????????????????
          < value > 5 </ value >
          ????????????????????????
          </ parameter >
          ????????????????????????
          < parameter >
          ????????????????????????????
          < name > maxActive </ name >
          ????????????????????????????
          < value > 20 </ value >
          ????????????????????????
          </ parameter >
          ????????????????????
          </ ResourceParams >
          </ Context >
          參數說明:
          Resource項:
          <Resource name="jdbc/blog" type="javax.sql.DataSource"/>
          Resource項(即連接池的DataSource對象),有3個屬性name、auth、type,name項是JNDI的名稱定義,程序通過JNDI才能找到此對象,這里取名jdbc/blog;type項即對象的類型,這里取值javax.sql.DataSource,申明為數據庫連接池。
          在接下來的<ResourceParams>域內容里包含四個參數user、password、driverClassName、url,依次為數據庫的用戶名、密碼、JDBC驅動和數據庫地址。
          factory參數:
          <parameter>
          <name>factory</name>
          <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
          </parameter>
          即基礎對象工廠,這里取值org.apache.commons.dbcp.BasicDataSourceFactory,即DBCP自帶的工廠,也可以用別的。
          DriverClassName參數:
          <parameter>
          <name>driverClassName</name>
          <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
          </parameter>
          即數據庫的JDBC驅動名稱,具體值為:
               Sql Server 2000: com.microsoft.jdbc.sqlserver.SQLServerDriver
          首先要下載安裝sqlserver-jdbc-驅動,然后將其lib下的三個jar文件放到
          tomcat/common/lib下。
          MySql:     org.gjt.mm.mysql.Driver
          MySql的JDBC驅動包mm.mysql-2.0.14.jar。
          Oracle8.1.7: oracle.jdbc.driver.OracleDriver
          Oracle8.1.7的JDBC驅動包名叫classes.jar,一般位于Oracle安裝目錄下的ora81jdbclib目錄下,初始擴展名為ZIP,需要手工把classes.zip改名為classes.jar,并放到tomcat/common/lib下。oracle.jdbc.driver.OracleDriver此類由classes.jar提供。
          url參數:
          <parameter>
          <name>url</name>
          <value>jdbc:microsoft:sqlserver://localhost:1433;databaseName=pubs</value>
          </parameter>
          即數據庫的地址。(不同的數據庫其地址都不相同)
          username參數:
          <parameter>
          <name>username</name>
          <value>sa</value>
          </parameter>
          即連接數據庫的用戶名。
          password參數:
          <parameter>
          <name>password</name>
          <value>sa</value>
          </parameter>
          即連接數據庫的密碼。
          maxActive、maxIdle和maxWait參數:
          <parameter>
          <name>maxActive</name>
          <value>20</value>
          </parameter>
          <parameter>
          <name>maxIdle</name>
          <value>20</value>
          </parameter>
          <parameter>
          <name>maxWait</name>
          <value>-1</value>
          </parameter>
          maxActive是最大激活連接數,這里取值為20,表示同時最多有20個數據庫連接。maxIdle是最大的空閑連接數,這里取值為20,表示即使沒有數據庫連接時依然可以保持20空閑的連接,而不被清除,隨時處于待命狀態。MaxWait是最大等待秒鐘數,這里取值-1,表示無限等待,直到超時為止,也可取值9000,表示9秒后超時。

          第二步:配置web.xml
          打開webapps/testexample/WEB-INF下web.xml,加入如下內容:
          <resource-ref>
          ?????? <res-ref-name>jdbc/blog</res-ref-name>
          ?????? <res-type>javax.sql.DataSource</res-type>
          ?????? <res-auth>Container</res-auth>
          ?</resource-ref>

          第三部:配置tomcat(添加類)
          將Microsoft SQL Server 2000 Driver for JDBClib目錄下的三個jar文件拷貝到Tomcat安裝目錄的common、lib下。
          配置完成!!

          第四步:測試代碼
          在testexample項目中新建一個testdb.jsp程序,程序代碼如下:
          <% @?page?contentType = " text/html;charset=GB2312 " %> ?
          <% @?page? import = ? " java.sql.*? " %>
          ?
          <% @?page? import = ? " javax.naming.*? " %>

          <% @?page? import = ? " javax.sql.*? " %> ?
          <%
          ?
          try
          {?
          Context?initCtx?
          = ? new
          ?InitialContext();?

          DataSource?ds?
          = ?(DataSource)?initCtx.lookup( " java:comp/env/jdbc/blog "
          );
          Connection?conn?
          =
          ?ds.getConnection();
          Statement?stmt?
          =
          ?conn.createStatement();?



          String?strSql?
          = ? " ?select?*?from?jobs? "
          ;?
          ResultSet?rs?
          =
          ?stmt.executeQuery(strSql);?
          while (rs.next())
          {?
          out.println(rs.getString(
          " job_desc "
          ));?
          out.println(
          " \n "
          );
          }
          ?
          }
          catch (Exception?ex) {?
          ex.printStackTrace();?
          throw ? new ?SQLException( " cannot?get?Connection?pool. "
          );?
          }
          ?
          %>
          ?
          運行tomcat,打開瀏覽器,輸入 http://localhost:8080/testexample/testdb.jsp ,可以看到運行結果。

          四、關于<Context></Context>的說明
          <Context path="/testexample" docBase="testexample" reloadable="true">
          1、其中path是用瀏覽器訪問時的路徑如
          http://localhost:8080/testexample
          2、docbase是項目的全路徑,因為這個項目放在了webapps下面,所以可以直接寫testexample,如果這個項目放在D盤跟目錄下面,而沒有放在tomcat下面,則docbas="D:\testexample"
          3、workDir="work\Catalina\localhost\root"是工作路徑,tomcat編譯完的jsp程序都在里面




          posted on 2006-11-14 11:06 kelly 閱讀(405) 評論(1)  編輯  收藏

          FeedBack:
          # re: Tomcat5.28的數據庫連接池配置 2006-11-14 11:14 kelly
          不錯  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 天津市| 札达县| 洛阳市| 浦县| 盐边县| 屏山县| 基隆市| 漾濞| 内江市| 东港市| 高平市| 竹山县| 象山县| 沽源县| 明星| 阜平县| 搜索| 淮滨县| 冷水江市| 万荣县| 大英县| 石家庄市| 简阳市| 和林格尔县| 桦南县| 梓潼县| 景泰县| 洞头县| 沈丘县| 贵港市| 富源县| 南华县| 江口县| 通州区| 郓城县| 无为县| 冷水江市| 平潭县| 四平市| 阿图什市| 稻城县|