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

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

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

    我思故我強

    Tomcat5+Mssql server 2000數據庫連接池配置之旅

    ?

    Tomcat相信大家已經很熟悉了,作為一種免費而強大的java web server,得到了很多java愛好者的青睞,最新版本的tomcat5支持servlet2.4和jsp2.0,今天我將采用Tomcat5和Ms sqlserver 000一起來開始數據庫連接池配置之旅。
    需要的準備
    1、jdk 我使用的版本1.4.01
    2、Tomcat 5 我使用的是5.0.16版本 下載地址:http://jakarta.apache.org/site/binindex.cgi
    3、Mssql server 2000 數據庫
    4、Mssql server 2000的官方jdbc driver ,可以到微軟的官方網站免費下載

    好了在安裝完上面的軟件之后,就進入配置實戰了:)

    一、找到jdbc的安裝目錄,把lib目錄下面的msbase.jar和mssqlserver.jar、msutil.jar三個文件一起copy到$CATALINA_HOME/common/lib/($CATALINA_HOME代表的是你的tomcat5的安裝目錄)

    二、用文本編輯器,我這是使用editplus(她可是我的摯愛奧)打開$CATALINA_HOME/conf/server.xml文件,找到配置context的地方,把下面的代碼
    粘貼到文件里面

    <Context path="/DBTest" docBase="D:\rautinee work\db\"
    ???????? debug="5" reloadable="true" crossContext="true">

    <Logger className="org.apache.catalina.logger.FileLogger"
    ????????????? prefix="localhost_DBTest_log." suffix=".txt"
    ????????????? timestamp="true"/>

    <Resource name="jdbc/TestDB"
    ??????????????? auth="Container"
    ??????????????? type="javax.sql.DataSource"/>

    <ResourceParams name="jdbc/TestDB">
    ???? <parameter>
    ?????? <name>factory</name>
    ?????? <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
    ???? </parameter>

    ???? <!-- Maximum number of dB connections in pool. Make sure you
    ????????? configure your mysqld max_connections large enough to handle
    ????????? all of your db connections. Set to 0 for no limit.
    ????????? -->
    ???? <parameter>
    ?????? <name>maxActive</name>
    ?????? <value>100</value>
    ???? </parameter>

    ???? <!-- Maximum number of idle dB connections to retain in pool.
    ????????? Set to 0 for no limit.
    ????????? -->
    ???? <parameter>
    ?????? <name>maxIdle</name>
    ?????? <value>30</value>
    ???? </parameter>

    ???? <!-- Maximum time to wait for a dB connection to become available
    ????????? in ms, in this example 10 seconds. An Exception is thrown if
    ????????? this timeout is exceeded.??? Set to -1 to wait indefinitely.
    ????????? -->
    ???? <parameter>
    ?????? <name>maxWait</name>
    ?????? <value>10000</value>
    ???? </parameter>

    ???? <!-- MSSQLserver dB username and password for dB connections??? -->
    ???? <parameter>
    ????? <name>username</name>
    ????? <value>sa</value>
    ???? </parameter>
    ???? <parameter>
    ????? <name>password</name>
    ????? <value></value>
    ???? </parameter>

    ???? <!-- Class name for mssqlserver JDBC driver -->
    ???? <parameter>
    ??????? <name>driverClassName</name>
    ??????? <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
    ???? </parameter>

    ???? <!-- The JDBC connection url for connecting to your mssqlserver dB.-->
    ???? <parameter>
    ?????? <name>url</name>
    ?????? <value>jdbc:microsoft:sqlserver://localhost:1433;databasename=Northwind</value>
    ???? </parameter>
    </ResourceParams>
    </Context>

    注意:我本地的數據庫的sa的密碼為空,數據庫使用的是Northwind,我的目錄名DBTest,他的目錄是D:\rautinee work\db\

    打開DBTest下面的web.xml文件,用下面的代碼替換原來的內容

    <?xml version="1.0" encoding="ISO-8859-1"?>
    ???? <!DOCTYPE web-app PUBLIC
    ???? "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    ???? "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
    <description>MSSql server Test App</description>
    <resource-ref>
    ?????? <description>DB Connection</description>
    ?????? <res-ref-name>jdbc/TestDB</res-ref-name>
    ?????? <res-type>javax.sql.DataSource</res-type>
    ?????? <res-auth>Container</res-auth>
    </resource-ref>
    </web-app>

    ok,配置完成,下面的工作是需要編寫兩個文件測試一下,連接是否成功。

    這里我用了http://jakarta.apache.org上面的例子

    首先是bean文件

    package foo;

    import javax.naming.*;
    import javax.sql.*;
    import java.sql.*;

    public class DBTest {

    String foo = "Not Connected";
    int bar = -1;
    ???
    public void init() {
    ???? try{
    ?????? Context ctx = new InitialContext();
    ?????? if(ctx == null )
    ?????????? throw new Exception("Boom - No Context");

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

    ?????? if (ds != null) {
    ???????? Connection conn = ds.getConnection();
    ?????????????
    ???????? if(conn != null)??? {
    ???????????? foo = "Got Connection "+conn.toString();
    ???????????? Statement stmt = conn.createStatement();
    ???????????? ResultSet rst =
    ???????????????? stmt.executeQuery("select * from orders");
    ???????????? if(rst.next()) {
    ??????????????? foo=rst.getString("CustomerID");
    ??????????????? bar=rst.getInt("OrderID");
    ???????????? }
    ???????????? conn.close();
    ???????? }
    ?????? }
    ???? }catch(Exception e) {
    ?????? e.printStackTrace();
    ???? }
    }

    public String getFoo() { return foo; }
    public int getBar() { return bar;}
    }


    然后是index.jsp文件

    <html>
    <head>
    ???? <title>DB Test</title>
    </head>
    <body>

    <%
    ???? foo.DBTest tst = new foo.DBTest();
    ???? tst.init();
    %>

    <h2>Ms sql server 2000 java search Results</h2>
    ???? Foo <%= tst.getFoo() %><br/>
    ???? Bar <%= tst.getBar() %>

    </body>
    </html>
    'www.knowsky.com

    編譯運行,如果不出意外,應該檢索到一條記錄,

    我的ie中顯示的是
    Ms sql server 2000 java search Results
    Foo VINET
    Bar 10248

    ok,配制成功!

    posted on 2007-11-02 10:53 李云澤 閱讀(184) 評論(0)  編輯  收藏 所屬分類: Tomcat

    主站蜘蛛池模板: 久久久久久久亚洲Av无码| 亚洲AV无码成人精品区天堂| 亚洲一卡2卡3卡4卡5卡6卡| 97久久免费视频| 久久久久亚洲AV无码麻豆| 国产午夜免费高清久久影院| 亚洲AV无码一区二区三区DV| 午夜高清免费在线观看| 亚洲美国产亚洲AV| 国产成人免费A在线视频| 激情内射亚洲一区二区三区爱妻| 中文字幕免费在线看线人| 青柠影视在线观看免费| 亚洲精品NV久久久久久久久久| 国产一二三四区乱码免费| 亚洲色精品aⅴ一区区三区| 毛片A级毛片免费播放| 热99RE久久精品这里都是精品免费| 亚洲精品欧美综合四区 | 国产成人亚洲精品狼色在线| 无码区日韩特区永久免费系列 | 日韩精品无码永久免费网站| 亚洲视频在线观看视频| 亚洲欧洲中文日韩av乱码| 国产无人区码卡二卡三卡免费| 成人av片无码免费天天看| 亚洲精品无码你懂的| 亚洲精品国产专区91在线| 亚洲美日韩Av中文字幕无码久久久妻妇| 91福利视频免费观看| 中文字幕免费在线视频| 精品一区二区三区无码免费直播| 亚洲另类视频在线观看| 亚洲VA中文字幕无码一二三区| 免费a级黄色毛片| 女人被免费视频网站| 国产成人精品免费视频动漫 | 一个人看的www在线观看免费| a级毛片毛片免费观看永久| 免费人成视频在线播放| 亚洲国产AV一区二区三区四区|