jndi

JNDI是J2EE中一个很重要的标准,通常我们是在J2EE编程中用到,Tomcat中提供了在JSP和Servelt中直接使用JNDI的方法,主要是通过dbcp连接池,下面谈一下我在Tomcat5.5中配置和使用JNDI的方法。本文的对象是对j2ee编程有所了解的读者.
一、先在自己应用程序WEB-INF目录下的web.xml添加以下语句
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>  
  6. <!---->    
  7. resource-ref>  
二、然后在tomcat目录/conf/server.xml文件里相应的<context></context>元素, 添加如下子元素
xml 代码
  1. <Resource name="引用资源的JNDI名"    
  2.                 auth="Container"    
  3.                type="javax.sql.DataSource"    
  4.                driverClassName="com.pointbase.jdbc.jdbcUniversalDriver(自己的jdbc驱动)"    
  5.                url="jdbc:pointbase:server://localhost/acme(数据库连接url)"    
  6.                username="root(用户名)"    
  7.                password="root(密码)"    
  8.                maxActive="20(连接池dbcp的相关配置)"    
  9.                maxIdle="10"    
  10.                maxWait="10000"/>   

注意,要把你的驱动拷到common/lib下,我用的是pointbase因此我拷的是pbclient44.jar到了common/lib下

三、举个例说明,以下是我的假设的项目ACMEWeb:
 在相应程序的web.xml里添加

xml 代码
  1. <web-app ....>     
  2.  .....    
  3.  <resource-ref>    
  4.  <res-ref-name>jdbc/AcmeDBres-ref-name>    
  5.  <res-type>javax.sql.DataSourceres-type>    
  6.  <res-auth>Containerres-auth>    
  7.  resource-ref>    
  8. web-app>  

然后再server.xml里修改:

xml 代码
  1. <Context path="/ACMEWeb" reloadable="true" docBase="E:\eclipseproject\ACMEWeb" workDir="E:\eclipseproject\ACMEWeb\work">    
  2.  <Resource name="jdbc/AcmeDB"  
  3.  auth="Container"  
  4.  type="javax.sql.DataSource"    
  5. driverClassName="com.pointbase.jdbc.jdbcUniversalDriver" url="jdbc:pointbase:server://localhost/acme"    
  6. username="root"  
  7.  password="root"    
  8. maxActive="20"  
  9.  maxIdle="10"    
  10. maxWait="10000"/>    
  11. Context>   
建议你把上面的内容编写成为一个xml文件,拷到conf/Catalina/<主机名>/文件夹下

你可能感兴趣的:(tomcat,xml,Web,SQL Server,jdbc)