JNDI : Java Naming and Directory Interface,用于定位查找服务对象。JNDI是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念。如同其它很多Java技术一样,JDNI是provider-based的技术,暴露了一个API和一个服务供应接口(SPI)。这意味着任何基于名字的技术都能通过JNDI而提供服务,只要JNDI支持这项技术。JNDI目前所支持的技术包括LDAP、CORBA Common Object Service(COS)名字服务、RMI、NDS、DNS、Windows注册表等等。很多J2EE技术,包括EJB都依靠JNDI来组织和定位实体。 JDNI通过绑定的概念将对象和名称联系起来。在一个文件系统中,文件名被绑定给文件。在DNS中,一个IP地址绑定一个URL。在目录服务中,一个对象名被绑定给一个对象实体。 JNDI中的一组绑定作为上下文来引用。每个上下文暴露的一组操作是一致的。例如,每个上下文提供了一个查找操作,返回指定名字的相应对象。每个上下文都提供了绑定和撤除绑定名字到某个对象的操作。JNDI使用通用的方式来暴露命名空间,即使用分层.
JNDI是J2EE中一个很重要的标准,通常我们是在J2EE编程中用到,Tomcat中提供了在JSP和Servelt中直接使用JNDI的方法,主要是通过dbcp连接池,下面谈一下我在Tomcat5.5中配置和使用JNDI的方法。本文的对象是对j2ee编程有所了解的读者,或者已经看过了我的Blog:tomcat的基本配置说明
一、先在自己应用程序WEB-INF目录下的web.xml添加以下语句:
<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code> <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></context>元素,看我的Blog:tomcat的基本配置说明
添加如下子元素:
<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code> <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里添加
<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code> <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里修改:
<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code> <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/<主机名>/文件夹下。
JNDI程序包:
javax.naming:命名操作;
javax.naming.directory:目录操作;
javax.naming.event:在命名目录服务器中请求事件通知;
javax.naming.ldap:提供LDAP支持;
javax.naming.spi:允许动态插入不同实现。
常用的JNDI操作:
void bind(String sName,Object object);――绑定:把名称同对象关联的过程
void rebind(String sName,Object object);――重新绑定:用来把对象同一个已经存在的名称重新绑定
void unbind(String sName);――释放:用来把对象从目录中释放出来
void lookup(String sName,Object object);――查找:返回目录总的一个对象
void rename(String sOldName,String sNewName);――重命名:用来修改对象名称绑定的名称
NamingEnumeration listBinding(String sName);――清单:返回绑定在特定上下文中对象的清单列表
NamingEnumeration list(String sName);
http://blog.csdn.net/llp1217/archive/2005/04/04/336037.aspx
分享到:
相关推荐
Tomcat5.5+myeclipse6.0+sql server2000,将包解压后,将JDBC驱动程序jar包放到Tomcat/commons/lib目录下,然后导入项目,发布项目,起动tomcat,动行jsp页面
Tomcat 5.5中的DBCP配置涉及到添加依赖库、创建数据源配置文件、配置Tomcat服务器和在应用程序中使用JNDI查找数据源。通过这些步骤,可以实现高效且可扩展的数据库连接管理,为Web应用提供稳定的数据库访问支持。在...
### Tomcat5.5连接池配置详解 #### 一、引言 在现代软件开发过程中,数据库连接管理是一项至关重要的任务。为了提高系统的性能和稳定性,合理地管理和复用数据库连接资源是必不可少的。Apache Tomcat 作为一种广泛...
然而,在Tomcat 5.5中,这种做法已经被弃用,转而采用在每个应用的`META-INF`目录下放置一个`Context.xml`文件的方式进行配置。需要注意的是,该文件名必须固定为`Context.xml`。 下面是一个典型的`Context.xml`...
【标题】:“Hibernate 3.1+Tomcat 5.5.X(配置JNDI篇)” 【描述】:文章介绍了在Tomcat 5.5.X版本中如何配置Hibernate 3.1,特别是关于JNDI(Java Naming and Directory Interface)的设置方法。 【标签】:...
通过这份"Tomcat5.5连接池配置案例",新手可以系统学习并掌握如何在Tomcat环境中配置和使用连接池,提升应用的数据库访问效率。同时,案例笔记将帮助理解每个步骤背后的原理和最佳实践,从而更好地应对实际开发中的...
**在Tomcat 5.5下配置EJB** 在Java企业版(Java EE)中,Enterprise JavaBeans(EJB)是一种用于构建可扩展、安全且可靠的服务器端应用程序的核心技术。EJB提供了组件模型,允许开发者将业务逻辑封装到可重用的组件...
《Tomcat5.5中文技术手册》是一份详尽的指南,专为使用Apache Tomcat 5.5版本的开发者和管理员提供。这份手册以中文呈现,方便了中文读者理解和应用Tomcat的相关知识。HTML版的形式使得查阅和学习更加便捷,无需安装...
通过以上配置,Tomcat 5.5已经成功设置了数据源,应用可以通过JNDI查找并使用这个数据源来建立与数据库的连接。这种方式不仅方便了数据库连接的管理,还优化了系统性能,因为连接可以在使用后被放回连接池,而不是...
在Tomcat 5.5.x版本中,`server.xml`是服务器的主要配置文件,它包含了关于服务器设置、连接器、容器以及其他关键组件的配置信息。本篇文章将详细解释如何在`server.xml`中配置域名转向和连接池。 ### 域名转向...
标题中的“Tomcat6.0配置JNDI数据源完整例子”是指在Apache Tomcat 6.0服务器中设置Java Naming and Directory Interface (JNDI)数据源的过程。JNDI是一个API,它允许应用程序查找和使用命名服务,如数据库连接池。...
【Tomcat5.5数据源配置详解】 在Java Web开发中,Tomcat作为轻量级应用服务器,常常被用于部署Web应用程序。为了连接数据库,我们需要配置数据源(DataSource)。本篇将详细介绍如何在Tomcat 5.5版本中配置数据源,...
此外,Tomcat 5.5还支持Java Naming and Directory Interface (JNDI),可以用来查找和绑定资源,以及JavaMail API,用于发送电子邮件。 在开发过程中,Eclipse提供了强大的调试工具。你可以设置断点,单步执行代码...
在本教程中,我们将深入探讨如何安装和配置Tomcat5.5,以及它所包含的数据库连接池管理模块。 首先,了解Tomcat5.5的基础知识是至关重要的。Tomcat5.5基于Servlet 2.4和JSP 2.0规范,提供了一个轻量级的运行环境,...
Tomcat 5.5.x版本虽然相对较老,但依然有很多项目在运行,因此了解如何在该版本下配置连接池是至关重要的。连接池是一种管理数据库连接的技术,它能够有效地复用数据库连接,减少创建和销毁连接的开销,提高系统性能...
Tomcat 5.5版本虽然较旧,但理解其数据库连接池的配置对于学习和维护旧系统仍然至关重要。数据库连接池是管理数据库连接的一种机制,它能有效地复用数据库连接,提高系统的性能和资源利用率。以下将详细讲解Tomcat ...
使用Tomcat 5.5时,你需要了解如何配置和管理服务器,包括设置端口号、添加新的虚拟主机、配置数据源、以及调整性能参数等。此外,对于安全性,你还需要关注如何设置用户角色、权限控制和SSL支持。 然而,值得注意...
Tomcat 5.5可以与其他Java EE组件,如JNDI(Java Naming and Directory Interface)和JMS(Java Message Service)一起工作,尽管它本身并不完全符合Java EE规范。然而,通过与EJB容器(如JBoss或Glassfish)的集成...