Tomcat 5.5.20中配置JNDI

Context element的放置位置:有5个。

1、conf/server.xml的host元素之下。

2、conf/context.xml 中,被所有的应用共享。

3、conf/[enginename]/[hostname]/context.xml中,被所有的应用共享。

4、conf/[enginename]/[hostname]/ directory.xml中,就是以目录名作为文件名的配置文件。

5、/META-INF/context.xml 在应用的目录中。

其中:1、2、3都是全局共享的。

4、5都是针对独立应用的。

最后一种5生效的唯一理由是前面的4的文件找不到,如果有4,则5的配置将会完全被屏蔽掉。

This method allows dynamic reconfiguration of the web application, since the main conf/server.xml file cannot be reloaded without restarting Tomcat. Please note that for tomcat 5, unlike tomcat 4.x, it is NOT recommended to place <Context> elements directly in the server.xml file. Instead, put them in the META-INF/context.xml directory of your WAR file or the conf directory as described above.

以上的描述可以发现,conf/server.xml file cannot be reloaded without restarting Tomcat。

反之如果配置到其他地方却可以自动reload。自动重载意味着什么我就不多说了。

为了联系配置JNDI,我安装了mysql 5.0.18

在其中建立了一个测试的库,和一张表,插入了一点儿数据。

JNDI的使用,分为两种:全局和局部的。

全局的:

conf/server.xml中配置(注意,配置Resource的方法在Tomcat的以前版本中不是这样的,需要按照这个简化语法来改,否则就和我一样折腾半死也不明白为什么了。)

配置完成之后,就是使用它了。

有两个地方,根据前文描述,选择一个。

建立META-INF/context.xml(使用方法5,在局部配置时掩饰使用方法4)


其中的name是程序中引用,其中的global是在全局Resource中定义的name。

写个测试的jsp

index.jsp

完美输出结果。

局部的:

conf/Catalina/localhost/DBTest.xml(使用方法4,前面演示了使用方法5)

在其中书写可以有动态重载的优势,DBTest时目录名称。


配置好了之后,比前面多处一步:需要在应用的WEB-INF/web.xml中写引用。(使用全局的配置不需要作这一部也能成功,这里不作这步我也好像成功了,但是很多地方都写需要这步,不知为何?)

 
使用同样的JSP测试之:


运行完美。

 

本文摘自:http://blog.csdn.net/olojiang/archive/2006/12/08/1435055.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值