Tomcat5.5中使用JNDI数据源

本文详细介绍了如何在 Tomcat 中配置数据源,并通过 JNDI 进行引用的方法。包括 Server.xml 和 Web.xml 的具体配置代码,以及一段用于验证配置成功的示例 Java 代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先编辑Server.xml,添加数据源代码

<Context path="/StudentManager" docbase="StudentManager" debug="5" reload="true" crossContext="true">
         
<Resource name="jdbc/StudentManager" auth="Container" type="javax.sql.DataSource"/>
            
<ResourceParams name="jdbc/StudentManager">
                
<parameter>
                  
<name>factory</name>
                  
<values>org.apache.commons.dbcp.BasicDataSourceFactory</values> 
                
</parameter>
                
<parameter>
                  
<name>url</name>
                  
<values>jdbc:mysql://localhost:3306/studentmanager</values>
                
</parameter>
                
<parameter>
                  
<name>driverclassname</name>
                  
<values>com.mysql.jdbc.Driver</values>
                
</parameter> 
                
<parameter>
                  
<name>username</name>
                  
<values>root</values> 
                
</parameter>
                
<parameter>
                  
<name>password</name>
                  
<values>root</values>
                
</parameter>
                
<parameter>
                  
<name>maxWait</name>
                  
<values>3000</values>
                
</parameter>
                
<parameter>
                  
<name>maxIdle</name>
                  
<values>10</values>
                
</parameter>
                
<parameter>
                  
<name>maxActive</name>
                  
<values>100</values>
                
</parameter>

            
</ResourceParams>                    
      
</Context>

 在Web.xml中加入对jndi的引用

<resource-ref>   
      
<description>SqlServer   Datasource   example</description>   
      
<res-ref-name>jdbc/StudentManager</res-ref-name>   
      
<res-type>javax.sql.DataSource</res-type>   
      
<res-auth>Container</res-auth>   
  
</resource-ref>

 

测试代码:

 

<%
    String jndi
="java:comp/env/jdbc/StudentManager";
    DataSource ds
=null
     
try{  
          
          Context initCtx
=new InitialContext();   //初始化上下文,可以读配置文件如:web.xml   
          if(initCtx==null)   
                  
throw new Exception("Initial   Failed!");       
          Context ctx
=(Context)initCtx.lookup("java:comp/env");   
          
if(ctx!=null)   
               ds
=(DataSource)ctx.lookup("jdbc/StudentManager"); 
          
if(ds==null)   
                  
throw new Exception("Look   up   DataSource   Failed!");   
  }
   
  
catch(Exception e){   
          System.out.println(e.getMessage());   
  }

    System.out.println(ds);
 
%>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值