<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

    常用鏈接

    留言簿(4)

    隨筆分類(66)

    隨筆檔案(72)

    文章檔案(19)

    收藏夾

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

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

    第二步:配置web.xml
    打開webapps/testexample/WEB-INF下web.xml,加入如下內(nèi)容:
    <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項(xiàng)目中新建一個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. "
    );?
    }
    ?
    %>
    ?
    運(yùn)行tomcat,打開瀏覽器,輸入 http://localhost:8080/testexample/testdb.jsp ,可以看到運(yùn)行結(jié)果。

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




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

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

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 免费视频爱爱太爽了| 最新亚洲人成无码网www电影| 国产V亚洲V天堂无码久久久| 亚洲精品尤物yw在线影院| 亚洲成AV人网址| 亚洲国产精品人人做人人爱| 亚洲成a人片在线观看国产| 男人的天堂亚洲一区二区三区| 猫咪社区免费资源在线观看| 18禁超污无遮挡无码免费网站国产 | 亚洲中文字幕不卡无码| 亚洲综合伊人久久大杳蕉| a级亚洲片精品久久久久久久| 久久亚洲欧洲国产综合| 亚洲乱码国产乱码精品精| 亚洲AV无码一区二区三区DV| 久久久久亚洲精品日久生情| 亚洲国色天香视频| 亚洲AV日韩综合一区尤物| 亚洲AV无码成人精品区日韩| 无套内射无矿码免费看黄| 中文字幕一区二区三区免费视频| a级午夜毛片免费一区二区| 69视频在线是免费观看| 手机在线看永久av片免费| 情侣视频精品免费的国产| 亚洲日韩国产一区二区三区| 亚洲国产精品久久久天堂| 亚洲高清视频免费| 亚洲国产精品网站在线播放| 亚洲一级片免费看| 久久爰www免费人成| 中文字幕无码免费久久99| 国产三级免费电影| 亚洲精品无码乱码成人| 亚洲午夜在线一区| 美女被免费网站在线视频免费| 中文字幕手机在线免费看电影| 精品无码国产污污污免费网站 | 国产无遮挡裸体免费视频在线观看| 7m凹凸精品分类大全免费|