@OverWrite BlogJava

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            128 隨筆 :: 0 文章 :: 29 評(píng)論 :: 0 Trackbacks

          JNDI是J2EE中一個(gè)很重要的標(biāo)準(zhǔn),通常我們是在EJB編程中用到, 
          Tomcat4.0中提供了在JSP和Servelt中直接使用JNDI的方法,下面談一下在Tomcat4.0中配置和使用JNDI的方法 
          (以通過JNDI連接數(shù)據(jù)庫(kù)為例) 
          假設(shè)使用的數(shù)據(jù)庫(kù)是mysql,實(shí)驗(yàn)例子在TOMCAT_HOME/webapps/DBTest目錄中 

          A.將mysql的JDBC連接庫(kù)mm.mysql-2.0.9-bin.jar放入TOMCAT_HOME/common/lib中 

          B.配置TOMCAT_HOME/conf/serer.xml文件在<Service>;段中加入一個(gè)Context: 
          <Context path="/DBTest" docBase="DBTest" 
          debug="5" reloadable="true" crossContext="true"> 
          </Context> 
          這是DBTest的根路徑,這是為了在DBTest中使用做準(zhǔn)備. 

          C.在上面加入的<Context>;段加入 
          <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> 

          <!-- MySQL dB username and password for dB connections --> 
          <parameter> 
          <name>;username</name>; 
          <value>;test</value> 
          </parameter> 
          <parameter> 
          <name>;password</name> 
          <value>;test</value> 
          </parameter> 

          <!-- Class name for mm.mysql JDBC driver -->; 
          <parameter>; 
          <name>;driverClassName</name>; 
          <value>;org.gjt.mm.mysql.Driver</value> 
          </parameter> 

          <!-- The JDBC connection url for connecting to your MySQL dB.--> 
          <parameter> 
          <name>;url</name> 
          <value>;jdbc:mysql://localhost:3306/test</value> 
          </parameter> 
          </ResourceParams> 

          這里每一個(gè)小段都有英文注解,是Tomcat提供的,我們可以將按照Sample加入,主要修改的是driverClassName, 
          url,和用戶帳號(hào);需要強(qiáng)調(diào)的是"jdbc/TestDB"就是JDNI要查找的Name.

          在web.xml中加入 
          <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> 
          這里的jdbc/TestDb要和C中Resource段的name匹配 

          posted on 2008-04-25 09:02 vesung 閱讀(434) 評(píng)論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 伊金霍洛旗| 兴安盟| 通化市| 周至县| 昆山市| 灵丘县| 永城市| 三门峡市| 宜州市| 新沂市| 奉化市| 东乌| 安多县| 新巴尔虎左旗| 外汇| 寻乌县| 阿拉善盟| 全州县| 二手房| 从化市| 汉阴县| 衢州市| 上杭县| 泽库县| 堆龙德庆县| 根河市| 阜阳市| 辽源市| 乌兰浩特市| 青州市| 霞浦县| 穆棱市| 咸宁市| 泰宁县| 阿拉善盟| 奇台县| 靖远县| 定结县| 仁寿县| 奉贤区| 黄陵县|