Tomcat5.5下的Jndi的配置實例

發表于:2007-06-22來源:作者:點擊數: 標簽:
JNDI是J2EE中一個很重要的標準,通常我們是在J2EE編程中用到, Tomcat 中提供了在JSP和Servelt中直接使用JNDI的方法,主要是通過dbcp連接池,下面談一下我在Tomcat5.5中配置和使用JNDI的方法。 本文的對象是對j2ee編程有所了解的讀者,或者已經看過了我的Blo

   
  JNDI是J2EE中一個很重要的標準,通常我們是在J2EE編程中用到,Tomcat中提供了在JSP和Servelt中直接使用JNDI的方法,主要是通過dbcp連接池,下面談一下我在Tomcat5.5中配置和使用JNDI的方法。

本文的對象是對j2ee編程有所了解的讀者,或者已經看過了我的Blog:tomcat的基本配置說明
  
  一、先在自己應用程序WEB-INF目錄下的web.xml添加以下語句:
  <resource-ref>
  <descrtiption>引用資源說明</descrtiption>
  <res-ref-name>引用資源的JNDI名</res-ref-name>
  <res-type>引用資源的類名</res-type>
  <res-auth>管理者(Container)</res-auth><!--Container-容器管理 Application-Web應用管理-->
  </resource-ref>
  
  然后在tomcat目錄/conf/server.xml文件里相應的<Context>元素,看我的Blog:tomcat的基本配置說明
  
  添加如下子元素:
  
  <Resource name="引用資源的JNDI名" auth="Container" type="javax.sql.DataSource"
  driverClassName="com.pointbase.jdbc.jdbcUniversalDriver(自己的jdbc驅動)"
  url="jdbc:pointbase:server://localhost/acme(數據庫連接url)"
  username="root(用戶名)" password="root(密碼)" maxActive="20(連接池dbcp的相關配置)" maxIdle="10" maxWait="10000"/>
  
  注意,要把你的驅動拷到common/lib下,我用的是pointbase因此我拷的是pbclient44.jar到了common/lib下(對pointbase感興趣的讀者可以看我的另一篇文章pointbase數據庫學習,里面也提到了我為什么是用pointbase數據庫作為講解)。
  
  二、例子:以下是我的假設的項目ACMEWeb:
  在相應程序的web.xml里添加
  <web-app ....>
  .....
  <resource-ref>
  <res-ref-name>jdbc/AcmeDB</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
  </resource-ref>
  </web-app>
  然后再server.xml里修改:
  <Context path="/ACMEWeb" reloadable="true" docBase="E:\eclipseproject\ACMEWeb" workDir="E:\eclipseproject\ACMEWeb\work">
  <Resource name="jdbc/AcmeDB" auth="Container" type="javax.sql.DataSource" driverClassName="com.pointbase.jdbc.jdbcUniversalDriver" url="jdbc:pointbase:server://localhost/acme" username="root" password="root" maxActive="20" maxIdle="10" maxWait="10000"/>
  </Context>
  建議你把上面的內容編寫成為一個xml文件,拷到conf/Catalina/<主機名>/文件夾下,若有不懂的地方可以參考我的Blog:tomcat的基本配置說明 和tomcat的文檔。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97