JNDI全名为Java Naming and Directory Interface.JNDI主要提供应用程序所需要资源上命名与目录服务.在Java EE环境中,JNDI扮演了一个很重要的角色,
它提供了一个接口让用户在不知道资源所在位置的情形下,取得该资源服务.
就好比网络磁盘驱动器的功能一样。如果有人事先将另一台机器上的磁盘驱动器接到用户的机器上,用户在使用的时候根本就分辨不出现在的驱动器是存在本端,
还是在另一端的机器上,用户只需取得资源来用,根本就不知道资源在什么地方。
JNDI这个接口基本上是LDAP,LDAP全名为Lightweight Directory Access Protocol.
分享到:
相关推荐
本篇文章将详细介绍如何使用JNDI来定义Oracle数据源,这对于构建可扩展且高效的Web应用程序至关重要。 一、JNDI数据源概述 JNDI数据源配置是J2EE环境中管理数据库连接的一种方式。数据源是一种容器管理的资源,由...
3. **JNDI数据源配置:** 数据源通常在服务器的配置文件中定义,例如在Tomcat的`context.xml`中。配置完成后,应用可以通过JNDI查找,如`Context初始化参数`来获取数据源,这可以避免硬编码数据库连接信息。 **SSH...
2. Tomcat配置:在Tomcat的`conf/server.xml`文件中,需要添加一个GlobalNamingResources下的DataSource元素,定义JNDI数据源。例如: ```xml ... type="javax.sql.DataSource" driverClassName=...
数据源的JNDI名称会在这些配置文件中定义,以便应用可以通过JNDI查找服务。例如,一个常见的JNDI名称可能是`java:comp/env/jdbc/MyDataSource`。 使用JNDI的步骤大致如下: 1. **初始化初始上下文**:首先,我们...
JNDI本身并不提供任何实际的服务,而是定义了一套标准接口,由具体的服务提供商(如 LDAP、DNS、RMI等)来实现。这使得开发者可以灵活地选择适合应用的命名或目录服务。例如,EJB容器通常会提供一个Java企业版(Java...
配置数据源通常在`conf/server.xml`中进行,定义一个`Resource`元素,设置数据源的相关属性,如URL、用户名、密码等。应用中通过`InitialContext`查找这个JNDI名,即可获取到数据源实例,然后通过数据源获取数据库...
1. **javax.naming** 和 **javax.naming.directory**:这是Java标准版(Java SE)提供的核心JNDI API,它们定义了用于操作命名和目录服务的基本接口和类。 2. **javax.sql.DataSource**:这是Java数据库连接(JDBC...
1. **设置InitialContext的环境属性**:通过配置文件或代码的方式定义环境属性,包括JNDI的实现类、提供商URL、认证信息等。 2. **创建InitialContext对象**:根据设置好的环境属性创建InitialContext对象。 3. **...
局部JNDI则是在每个Web应用的上下文中定义,配置文件通常位于`WEB-INF/web.xml`。局部JNDI资源只对当前Web应用可见,提供了一种灵活的资源隔离方式。比如,为某个特定应用定义数据源,可在`web.xml`中写入: ```xml...
1. **加密步骤**:首先,使用AES算法和一个预先定义的密钥(需要妥善保管)对数据库密码进行加密,得到密文。 2. **配置JNDI**:将加密后的密码作为JNDI的值,例如,我们可以在Tomcat的context.xml中创建一个JNDI...
接下来,在应用的`WEB-INF/web.xml`文件中,我们需要添加`<resource-ref>`元素来定义数据源的引用。例如: ```xml <description>Resource reference to a factory for java.sql.Connection instances that may be...
1. **服务器配置**:在Java EE服务器的配置文件(如Tomcat的context.xml或server.xml)中定义JNDI资源。 2. **应用配置**:在Web应用的web.xml文件中,可以通过`<resource-ref>`元素声明对JNDI资源的引用。 3. **...
然后,定义了一个实现了`Remote`接口的`RemoteDate`类,并将其绑定到了JNDI中。之后可以通过如下方式查询该对象: ```java InitialContext ctx = new InitialContext(); Date startTime = (Date) ctx.lookup("java:...
### JNDI Java操作示例解析 #### 一、引言 JNDI(Java Naming and Directory Interface)是Java平台中用于访问命名和目录服务的API。它提供了一种查找和定位应用程序所需的资源(如数据库连接、消息队列、EJBs等)...
在上面的配置中,我们定义了一个名为 `jdbc/JNDIDatabase` 的 JNDI 资源,该资源是一个数据库连接池,使用 `com.mysql.jdbc.Driver` 驱动程序连接到 `localhost:3306` 的 MySQL 实例。 使用 JNDI 资源 在 Java ...
4. **创建映射文件** - 编写 Emp.xml,这是与 Emp.java 类映射的 SQL 映射文件,定义 SQL 语句及其结果集映射。 5. **初始化 SqlMapClient** - 在代码中创建 SqlMapClient 实例,它是 Ibatis 的入口点,用于执行 ...
在这个配置文件中,`jndi-name`指定了数据源的JNDI名称,`connection-url`则定义了数据库的连接地址等信息。 在应用程序中,可以使用以下代码来获取这个数据源: ```java Context ctx = new InitialContext(); ...
JNDI并不提供命名服务,而是定义了访问这些服务的标准API。 - **Directory Service**:目录服务,它扩展了命名服务,除了名字到对象的映射外,还提供了属性的存储,比如用户信息、配置信息等。 - **Naming Context**...
例如,在Tomcat中,可以在`server.xml`或`context.xml`中定义一个`<Resource>`标签来创建一个数据源,并为其指定一个唯一的JNDI名称。 2. **Spring的JNDI查找配置**: - 在Spring应用上下文中,使用`jee:jndi-...