<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)  編輯  收藏 所屬分類: 其它
    主站蜘蛛池模板: 最新仑乱免费视频| 日韩版码免费福利视频| 免费国产高清视频| 亚洲乱亚洲乱妇无码| 24小时日本在线www免费的| 亚洲 日韩经典 中文字幕| 色妞WWW精品免费视频| 亚洲已满18点击进入在线观看| 亚洲成人免费网址| 亚洲AV无码精品蜜桃| 67194成是人免费无码| 国产精品亚洲专区无码WEB| www国产亚洲精品久久久| 深夜a级毛片免费无码| 亚洲伊人久久成综合人影院| 国产高清视频免费在线观看| 区久久AAA片69亚洲| 中文字幕天天躁日日躁狠狠躁免费| 亚洲高清免费在线观看| 成年女人毛片免费观看97| 色屁屁在线观看视频免费| 久久久久亚洲精品男人的天堂| 香蕉成人免费看片视频app下载| 亚洲色图综合网站| 在线视频免费国产成人| 国产一二三四区乱码免费| 亚洲美免无码中文字幕在线| 99久久综合国产精品免费| 亚洲AV无码AV男人的天堂不卡| 亚洲第一页日韩专区| 99视频在线免费| 亚洲熟妇无码一区二区三区 | 免费人成激情视频| 亚洲阿v天堂在线2017免费| 亚洲成a人片77777老司机| 一二三四免费观看在线电影 | 亚洲欧洲国产日韩精品| 无人在线观看完整免费版视频| 黄色毛片视频免费| 久久精品亚洲综合一品| 免费无码不卡视频在线观看|