JNDI的使用方法及实例


  
   一、先在自己应用程序WEB-INF目录下的web.xml添加以下语句:
  
  1. <resource-ref>
  2.   <descrtiption>引用资源说明</descrtiption>
  3.   <res-ref-name>引用资源的JNDI名</res-ref-name>
  4.   <res-type>引用资源的类名</res-type>
  5.   <res-auth>管理者(Container)</res-auth><!--Container-容器管理 Application-Web应用管理-->
  6. </resource-ref>

  
  然后在tomcat目录/conf/server.xml文件里相应的<Context>元素,
  
  添加如下子元素:
  
  
  1. <Resource name="引用资源的JNDI名" auth="Container" type="Javax.sql.DataSource"
  2.   driverClassName="com.pointbase.jdbc.jdbcUniversalDriver(自己的jdbc驱动)"
  3.   url="jdbc:pointbase:server://localhost/acme(数据库连接url)"
  4.   username="root(用户名)" passWord="root(密码)" maxActive="20(连接池dbcp的相关配置)" maxIdle="10" maxWait="10000"/>

  
   注意,要把你的驱动拷到common/lib下,我用的是pointbase因此我拷的是pbclient44.jar到了common/lib下(对 pointbase感兴趣的读者可以看我的另一篇文章pointbase数据库学习,里面也提到了我为什么是用pointbase数据库作为讲解)。
  
   二、例子:以下是我的假设的项目ACMEWeb:
  在相应程序的web.xml里添加
  
  1. <web-app ....>
  2.   .....
  3.   <resource-ref>
  4.   <res-ref-name>jdbc/AcmeDB</res-ref-name>
  5.   <res-type>javax.sql.DataSource</res-type>
  6.   <res-auth>Container</res-auth>
  7.   </resource-ref>
  8. </web-app>

  然后再server.xml里修改:
 
  1. <Context path="/ACMEWeb" reloadable="true" docBase="E:/eclipseproject/ACMEWeb" workDir="E:/eclipseproject/ACMEWeb/work">
  2.   <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"/>
  3. </Context>

你可能感兴趣的:(tomcat,数据库,jdbc,server,application,url)