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

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

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

    posts - 22,comments - 35,trackbacks - 0
    本文主要介紹Tomcat5.0.25這個版本下數據庫連接池的配置,及程序對連接池的JNDI查找,并提供相應測試代碼。最后指出配置及應用過程中的常見問題及解決方法。

    1?.該文的配置環境:Tomcat5.0.25?+?jdk1.4+?Sql?Server?2000+Win2000

    2.配置步驟:

    第一步:

    啟動Tomcat,打開IE在地址欄內輸入http://localhost:8080/admin??進入Tomcat的管理界面;點擊右邊的Data?Sources?在右上角的下拉菜單中選擇Create?New?Data?Source?在下邊的輸入框中輸入需要的配置信息。

    JNDI?Name:jdbc/XXX(XXX為自己所命的名字)

    Data?Source?URL:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb(連接的數據名)

    JDBC?Driver?Class:?com.microsoft.jdbc.sqlserver.SQLServerDriver

    User?Name:連接數據庫的用戶名?

    Password:?數據庫密碼

    Max.?Active?Connections:?最大連接數

    Max.?Idle?Connections:?是最大的空閑連接數

    Max.?Wait?for?Connection:?最大等待連接數

    ?

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

    第三步:配置tomcat(添加類)

    首先要下載安裝sqlserver-jdbc-驅動,然后將其lib下的三個jar文件放到

    tomcat/common/lib下。

    ?

    注意事項:

    如果是單個JSP頁面我們將它放在TOMCAT_HOME/webapps/ROOT下邊,同時還須修改TOMCAT_HOME/conf/Catalina/localhost/下的ROOT.xml文件,在

    <Resource?auth="Container"?description="SqlServer?Datasource?example"?name="jdbc/SqlServerDB"?type="javax.sql.DataSource"/>下邊加入:

    <ResourceLink?global="jdbc/test"?name="jdbc/test"?type="javax.sql.DataSource"/>

    來引用所配置的JNDI數據源。同時將<Resource?auth="Container"?description="SqlServer?Datasource?example"?name="jdbc/SqlServerDB"?type="javax.sql.DataSource"/>注釋掉

    ????如果我們要部署的是個WEB應用程序,我們將該應用程序放在TOMCAT_HOME/webapps目錄下,有兩種方式可以引用我們所配置的JNDI數據源。

    A:可以在TOMCAT_HOME/conf/Catalina/localhost下新建XXX.xml文件,XXX為所發布的WEB應用的名字,如我所發布的WEB應用是JndiTest,.xml文件命名為JndiTest.xml在該文件內加:

    <?xml?version='1.0'?encoding='utf-8'?>

    <Context?debug="1"?docBase="E:/Tomcat?5.0/webapps/JndiTest"?path="/JndiTest"?reloadable="true"?workDir="work\Catalina\localhost\JndiTest">

    ??<Resource?name="jdbc/test"?type="javax.sql.DataSource"/>

    ??<ResourceParams?name="jdbc/test">

    ????<parameter>

    ??????<name>factory</name>

    ??????<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

    ????</parameter>

    ????<parameter>

    ??????<name>password</name>

    ??????<value>jsjrj</value>

    ????</parameter>

    ????<parameter>

    ??????<name>maxActive</name>

    ??????<value>4</value>

    ????</parameter>

    ????<parameter>

    ??????<name>maxWait</name>

    ??????<value>5000</value>

    ????</parameter>

    ????<parameter>

    ??????<name>url</name>

    ??????<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb</value>

    ????</parameter>

    ????<parameter>

    ??????<name>driverClassName</name>

    ??????<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>

    ????</parameter>

    ????<parameter>

    ??????<name>username</name>

    ??????<value>sa</value>

    ????</parameter>

    ????<parameter>

    ??????<name>maxIdle</name>

    ??????<value>2</value>

    ????</parameter>

    ??</ResourceParams>

    </Context>

    其中E:/Tomcat?5.0/webapps/JndiTest為你所發布應用程序的目錄,這樣就可以進行測試了。

    這樣做就是每個WEB應用程序都須創建一個象JndiTest.xml這樣的文件。

    B;為了避免每個WEB應用程序都創建XXX.xml文件,我們可以修改TOMCAT_HOME/conf下的server.xml文件,修改如下:

    在<Host></Host>之間加入:

    <Context?path="/JndiTest"?docBase="E:/Tomcat?5.0/webapps/JndiTest"?debug="1"?reloadable="true">

    ????<Resource?name="jdbc/test"?type="javax.sql.DataSource"/>

    ????<ResourceParams?name="jdbc/test">

    ??????<parameter>

    ????????<name>url</name>

    ????????<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb</value>

    ??????</parameter>

    ??????<parameter>

    ????????<name>driverClassName</name>

    ????????<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>

    ??????</parameter>

    ??????<parameter>

    ????????<name>maxWait</name>

    ????????<value>5000</value>

    ??????</parameter>

    ??????<parameter>

    ????????<name>maxActive</name>

    ????????<value>4</value>

    ??????</parameter>

    ??????<parameter>

    ????????<name>password</name>

    ????????<value>jsjrj</value>

    ??????</parameter>

    ??????<parameter>

    ????????<name>maxIdle</name>

    ????????<value>2</value>

    ??????</parameter>

    ??????<parameter>

    ????????<name>username</name>

    ????????<value>sa</value>

    ??????</parameter>

    ??????<parameter>?

    ????????<name>factory</name>?

    ????????<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>?

    ??????</parameter>?

    ????</ResourceParams>

    ???</Context>

    <Resource?auth="Container"?description="User?database?that?can?be?updated?and?saved"?name="UserDatabase"?type="org.apache.catalina.UserDatabase"/>下的

    <Resource?name="jdbc/test"?type="javax.sql.DataSource"/>

    同時移去上邊的這段:(也可以不移去)<ResourceParams?name="jdbc/test">

    ??????<parameter>

    ????????<name>url</name>

    ????????<value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb</value>

    ??????</parameter>

    ??????<parameter>

    ????????<name>driverClassName</name>

    ????????<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>

    ??????</parameter>

    ??????<parameter>

    ????????<name>maxWait</name>

    ????????<value>5000</value>

    ??????</parameter>

    ??????<parameter>

    ????????<name>maxActive</name>

    ????????<value>4</value>

    ??????</parameter>

    ??????<parameter>

    ????????<name>password</name>

    ????????<value>jsjrj</value>

    ??????</parameter>

    ??????<parameter>

    ????????<name>maxIdle</name>

    ????????<value>2</value>

    ??????</parameter>

    ??????<parameter>

    ????????<name>username</name>

    ????????<value>sa</value>

    ??????</parameter>

    ??????<parameter>?

    ????????<name>factory</name>?

    ????????<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>?

    ??????</parameter>?

    </ResourceParams>

    注意要在每個WEB應用程序的web.xml文件中都加入

    <resource-ref>
    ??<description>SqlServer?Datasource?example</description>
    ??<res-ref-name>jdbc/SqlServerDB</res-ref-name>
    ??<res-type>javax.sql.DataSource</res-type>
    ??<res-auth>Container</res-auth>
    ??</resource-ref>

    3.測試

    編寫jsp文件:

    <%@?page?contentType="text/html;charset=gb2312"%>?

    <%@?page?import="java.sql.*"%>

    <%@?page?import="javax.sql.*"%>??

    <%@?page?import="javax.naming.*"%>??

    <html>?

    <body>?

    <%

    ?

    Context?ctx?=?new?InitialContext();

    Connection?conn=null;

    ??????????ctx?=?new?InitialContext();

    ??????????DataSource?ds?=(DataSource)ctx.lookup("java:comp/env/jdbc/test");

    ??????????conn?=?ds.getConnection();

    Statement?stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);?

    String?sql="select?*?from?T_Student";?

    ResultSet?rs=stmt.executeQuery(sql);?

    while(rs.next())?{%>

    <%?

    out.print(rs.getString(1));

    out.print(rs.getString(2));

    out.print(rs.getString(3));

    }%>?

    <%?

    out.print("數據庫操作成功,恭喜你");

    rs.close();?

    stmt.close();?

    conn.close();?

    %>?

    </body>?

    </html>
    posted on 2006-04-05 14:08 kelven 閱讀(272) 評論(0)  編輯  收藏 所屬分類: 其它
    主站蜘蛛池模板: 亚洲乱码在线视频| 亚洲人成网亚洲欧洲无码久久| 亚洲男人的天堂在线播放| 中文字幕在线观看免费| 狠狠亚洲婷婷综合色香五月排名| 免费的黄网站男人的天堂| 国产美女无遮挡免费视频| 亚洲一区二区三区高清在线观看| 四虎国产精品免费久久| 亚洲一区在线视频| 无码视频免费一区二三区| 亚洲国产精品无码久久98 | 97精品免费视频| 亚洲麻豆精品果冻传媒| 久久久久久国产a免费观看黄色大片| 亚洲av专区无码观看精品天堂| 在线天堂免费观看.WWW| 亚洲欧美综合精品成人导航| 国产成人免费福利网站| 国产高清对白在线观看免费91| 日韩精品亚洲aⅴ在线影院| 91av免费观看| 亚洲欧美成人av在线观看| 亚洲AV成人潮喷综合网| 久久久久久久99精品免费观看 | 亚洲中文字幕久久精品蜜桃 | 美女被艹免费视频| 精品亚洲综合久久中文字幕| 免费A级毛片无码视频| 亚洲人成网站色7799| 中文字幕久久亚洲一区| 国产高清不卡免费在线| 国产精品亚洲一区二区三区| 亚洲另类激情综合偷自拍图| 在线视频免费观看高清| 国产福利免费视频| 亚洲一区二区久久| 国产成人亚洲精品影院| 免免费国产AAAAA片| a一级爱做片免费| 亚洲五月综合缴情婷婷|