java-iporay

          Tomcat5.0與SqlServer2000配置連接池(jtds驅動)

          <轉自CSDN>
          軟件:
          (1)tomcat5.0
          http://www.apache.org
          (2)jtds.jar
          http://jtds.sourceforge.net/

          (3)jdk1.4
          (4)Sqlserver2000(windows2003系統需要sp3補丁)

          設置環境變量
          (1)CATALINA_HOME
          tomcat的安裝路徑,如:E:\Tomcat5.0
          (2)CATALINA_BASE
          tomcat的安裝路徑,如:E:\Tomcat5.0
          (3)JAVA_HOME
          jdk安裝路徑,如:E:\Program Files\j2sdk1.4.2
          (4)PATH
          %JAVA_HOME%\bin
          (5)class_path
          .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar(前面的.和;不能少)

          將jtds.jar放在正確的目錄
          只能放在%CATALINA_HOME%\common\lib\目錄下

          修改server.xml文件
          改文件位于:;%CATALINA_HOME%\conf\server.xml

          <host></host>
          之間,修改后的內容為:
          ??
          < Context path = "/tiannet" docBase =
          "E:\tiannet"
          ????????
          debug = "5" reloadable = "true" crossContext = "true"
          >

          ????????<
          Logger className =
          "org.apache.catalina.logger.FileLogger"
          ????????????????
          directory = "logs"?? prefix = "localhost_log." suffix =
          ".txt"
          ????????????
          timestamp = "true"
          />
          ????????????
          ????????<
          Resource name =
          "jdbc/connectDB"
          ???????????????
          auth =
          "Container"
          ???????????????
          type = "javax.sql.DataSource"
          />
          ????<
          ResourceParams name = "jdbc/connectDB"
          >
          ??????<
          parameter
          >
          ????????<
          name > factory </ name
          >
          ????????<
          value > org . apache . commons . dbcp . BasicDataSourceFactory </ value
          >
          ??????</
          parameter
          >
          ??
          ????<
          parameter
          >
          ??????<
          name > removeAbandoned </ name
          >
          ??????<
          value > true </ value
          >
          ???? </
          parameter
          >
          ???? <
          parameter
          >
          ??????<
          name > removeAbandonedTimeout </ name
          >
          ??????<
          value > 60 </ value
          >
          ???? </
          parameter
          >
          ???? <
          parameter
          >
          ??????<
          name > logAbandoned </ name
          >
          ??????<
          value > false </ value
          >
          ???? </
          parameter
          >
          ????????
          ??????<
          parameter
          >
          ????????<
          name > maxActive </ name
          >
          ????????<
          value > 100 </ value
          >
          ??????</
          parameter
          >
          ??????<
          parameter
          >
          ????????<
          name > maxIdle </ name
          >
          ????????<
          value > 30 </ value
          >
          ??????</
          parameter
          >
          ??????<
          parameter
          >
          ????????<
          name > maxWait </ name
          >
          ????????<
          value > 10000 </ value
          >
          ??????</
          parameter
          >
          ??????<
          parameter
          >
          ???????<
          name > username </ name
          >
          ???????<
          value > sa </ value
          >
          ??????</
          parameter
          >
          ??????<
          parameter
          >
          ???????<
          name > password </ name
          >
          ???????<
          value > 123 </ value
          >
          ??????</
          parameter
          >
          ??????<
          parameter
          >
          ???????? <
          name > driverClassName </ name
          >
          ???????? <
          value > net . sourceforge . jtds . jdbc . Driver </ value
          >
          ??????</
          parameter
          >
          ??????<
          parameter
          >
          ????????<
          name > url </ name
          >
          ????????<
          value > jdbc : jtds : sqlserver :
          //127.0.0.1:1433/tiannet;charset=gb2312</value>
          ??????
          </ parameter
          >
          ????</
          ResourceParams
          >
          ??</
          Context
          >


          參數說明
          1) path 指定路徑,也就是訪問web的路徑,這里為
          http://localhost:8080/tiannet
          2) docBase 虛擬目錄的路徑,絕對路徑。如果虛擬目錄設置%CATALINA_HOME%\webapps目錄的某個子目錄下(如tiannet),則可直接寫子目錄名稱(如tiannet)。
          3) reloader 當網頁被更新時是否重新編譯。
          4) maxActive 連接池的最大數據庫連接數。設為0表示無限制。
          5) maxIdle 數據庫連接的最大空閑時間。超過此空閑時間,數據庫連接將被標記為不可用,然后被釋放。設為0表示無限制。
          6) maxWait 最大建立連接等待時間。如果超過此時間將接到異常。設為-1表示無限制。
          7) removeAbandoned 回收被遺棄的(一般是忘了釋放的)數據庫連接到連接池中。
          8) removeAbandonedTimeout 數據庫連接過多長時間不用將被視為被遺棄而收回連接池中。
          9) logAbandoned 將被遺棄的數據庫連接的回收記入日志。
          10) driverClassName JDBC驅動程序。
          11)username : 連接數據庫的用戶名
          12)password : 連接數據庫的密碼
          13) url 格式化數據庫連接字符串(這里的tiannet為數據庫名),格式為:

          jdbc:jtds:<server_type>:
          //<server>[:<port>][/<database>][;<property>=<value>[;...]]


          更多url的說明請參照:
          http://jtds.sourceforge.net/faq.html

          將上面的內容修改保存,并重新啟動tomcat后,在%CATALINA_HOME%\conf\Catalina\localhost\目錄下會多出一個xml文件,這里為:tiannet.xml。現在虛擬目錄就生效了。

          修改/WEB-INF/web.xml文件

          在虛擬目錄的根目錄(這里為:E:\tiannet)下建立WEB-INF目錄,在WEB-INF目錄下新建一個web.xml文件,基本內容為:

          <?xml version="1.0" encoding="ISO-8859-1"
          ?>
          <web-app>?
          ??<display-name>tiannet web</display-name>
          ????<description>connectDB test</description>?
          ????<resource-ref>
          ??????<description>DB Connection</description>
          ??????<res-ref-name>jdbc/connectDB</res-ref-name>
          ??????<res-type>javax.sql.DataSource</res-type>
          ??????<res-auth>Container</res-auth>
          ????</resource-ref>?
          ??<welcome-file-list>
          ????<welcome-file>index.jsp</welcome-file>
          ??</welcome-file-list>??
          </web-app>


          注意<res-ref-name>jdbc/connectDB</res-ref-name>的jdbc/connectDB和server.xml文件中的Resource的name屬性以及ResourceParams的name屬性值是一樣的。


          測試連接池的代碼

          <%@ page contentType = "text/html;charset=gb2312"
          %>
          <%@
          page import = "java.sql.*"
          %>
          <%@
          page import = "javax.sql.*"
          %>
          <%@
          page import = "javax.naming.*"
          %>

          <
          html
          >
          <
          body
          >
          <%
          ????
          DataSource ds = null
          ;
          ????
          Connection conn = null
          ;
          ????
          ResultSet rs = null
          ;
          ????
          Statement stmt = null
          ;
          ????
          InitialContext ctx = null
          ;
          ????
          String????m_strDriver = "net.sourceforge.jtds.jdbc.Driver" ,????????
          // 驅動字符串
          ???????????????
          m_strConURL = "jdbc:jtds:sqlserver" ;???????????????????????
          // 連接字符串
          ???
          try
          ???
          {
          ???????????
          ctx =new InitialContext
          ();
          ???????????
          ds =( DataSource ) ctx . lookup ( "java:comp/env/jdbc/connectDB" );????
          //注意connectDB的名稱和上面一致
          ???????????
          conn = ds . getConnection
          ();
          ???????????
          stmt = conn . createStatement
          ();

          ???????????
          String strSql = " select * from test" ;????????????????????????
          //test為數據庫中的一個表????
          ??????????
          rs = stmt . executeQuery ( strSql
          );
          ???????????while(
          rs . next
          ())
          ???????????{
          ??????????????
          out . println ( rs . getString ( 1 ) + ""
          );?????????????????
          ??????????????
          out . println ( rs . getString ( 2 ) + ""
          );
          ???????? }
          ???}
          ???
          catch ( Exception ex
          )
          ???{
          ???????
          out . println ( ex . getMessage
          ());
          ???}
          ???
          finally
          ???
          {
          ???????????
          rs . close
          ();
          ???????????
          stmt . close
          ();
          ???????????
          conn . close
          ();
          ???????????
          ctx . close
          ();
          ???}
          %>
          </
          body
          >
          </
          html
          >

          到這里所有的配置就結束了。

          posted on 2006-10-08 17:35 iporay 閱讀(484) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 湘西| 潜山县| 灌南县| 兴文县| 新蔡县| 平江县| 舒兰市| 湖南省| 怀安县| 宜兴市| 凤凰县| 玉溪市| 丽江市| 大竹县| 莱阳市| 烟台市| 张家口市| 湘阴县| 宜兰县| 望奎县| 黄骅市| 双城市| 天台县| 垫江县| 中阳县| 苏尼特左旗| 临朐县| 阿拉善左旗| 衡东县| 乌拉特中旗| 克什克腾旗| 曲麻莱县| 福鼎市| 城步| 泰宁县| 蓬安县| 伊通| 白朗县| 新乐市| 明水县| 江陵县|