tomcat 下jndi配置

1.在tomcat5.5版本以下:
DataSource和jndi

jndi(java命名目录接口),是用于访问目录服务器的j2ee的其中一个规范

1.DataSource
javax.sql.DataSource中定义,直接创建DataSource对象,


2.从目录服务器上查询DataSource

目录服务器:tomcat自带的

如何使用DataSource?
1)注册:(将datasource放入目录服务器)
通过jndi完成注册工作
a)编写jndi代码完成注册工作
b)使用工具完成注册工作
将ojdbc14.jar放入/common/lib,重启tomcat

进入comcat,http://localhost:8080/
--->点击Comcat Administration ---> 输入用户名和密码(在comcat中配置的)
--->Service(Cataline) ----> Host(Local host) ---->Context (/servlet_jd0809)
--->Data Sources -->进入页面,选择Create New Data Source,设置如下:
JNDI name:随便取,jndi/feng
Data Source URL:oracle URL jdbc:oracle:thin:@192.168.1.220:1521:briupdb
JDBC Driver Class:驱动类 oracle.jdbc.driver.OracleDriver

Max. Active Connections:最大的活动连接数,连接池中的连接数

Max. Idle Connections:连接不够用时,创建连接放入连接池

Max. Wait for Connection:最大等待时间

然后save,-->Commit Changes

2)查询:通过jndi完成查询工作


在java类中获得DataSource
Context ctx=new InitialContext();//jndi里面的
DataSource ds=(DataSource)ctx.lookup(java:comp/env/jndi name);
java:comp/env/ 和服务器有关,写的时候必须加上
如:DataSource ds=(DataSource)ctx.lookup("java:comp/env/jndi/feng");


<!--为软件部署人员提供软件使用的DataSource的信息  -->
在web.xml中进行配置
<resource-ref>
<res-ref-name> jdbc/feng</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
     
在DataSourc中获得连接,进行jdbc(访问服务器的规范) 

以上配置的是局部jndi,配置全局的是:
--->点击Comcat Administration ---> 输入用户名和密码(在comcat中配置的)
--->Resoures ----> DataSource,以下步骤和上面一样

程序代码如下:
Context ctx=new InitialContext();
datasource=(DataSource)ctx.lookup("java:comp/env/jndi/feng");//获得datasource
con=datasource.getConnection();
stmt=con.createStatement();
rs=stmt.executeQuery("select * from simple_tbl");
2.在tomcat6.0版本以上配置
如何配数据源
5.0版本,Data source可以配置全局变量

可以配置局部变量,在host下

tomcat6.0以上版本

maxActive//始终活动的,maxIdle//最大连接数

在tomcat6.0的conf目录下,server.xml最下面和</host>之间添加


<Context   path="/ssh"   
docBase="ssh" //随便写 
debug="5"  
reloadable="true"  
crossContext="true">
<Resource   name="jd0809"   
auth="Container"   
type="javax.sql.DataSource"  
                                
maxActive="5"   
maxIdle="30"  
maxWait="10000"  
 username="seaside"   password="seaside"  
 driverClassName="oracle.jdbc.driver.OracleDriver"  
 url="jdbc:oracle:thin:@127.0.0.1:1521:XE"/>  
</Context>

再在spring中这样配置即可
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">  
    <property name="jndiName"><value>java:comp/env/jd0809</value></property>  
 </bean> 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值