服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

tomcat5.5下的jndi的配置实例


  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的文档。

扫描关注微信公众号