- 浏览: 212341 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
zjlhonest:
不需要那个tables.add也能成功啊,悲催
JAVA 获取数据库中表的结构 -
zjlhonest:
那个tables.add(table),tables是那个类的 ...
JAVA 获取数据库中表的结构 -
yangrenjun:
一定要注意起的类名要一直。否则编译通不过去
这里是MyEcli ...
生成 MyEclipse 注册码 -
chokee:
不错比较清楚
Oracle数据库-建库、建表空间,建用户 -
vcxiaohei:
谢谢,很好用!!!
验证子网掩码的合法性
JNDI是 Java 命名与目录接口(Java Naming and Directory Interface),是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的用途:
1)你可以用jndi来得到object类的属性
如:Attribute attr =directory.getAttributes(personName).get("email");
String email = (String)attr.get();
2)你可以用jndi来搜索对象
如:foxes = directory.search("o=Wiz,c=US", "sn=Fox", controls);
查找谁的名字叫Fox在wiz部门的员工?
3)你可以用jndi通过naming/directory服务查询像printers和databases的对象
如:查询 Printer
Printer printer = (Printer)namespace.lookup(printerName);
printer.print(document);
4)你可以用jndi列表出命名空间的特殊级别的内容
如: NamingEnumeration list = namespace.list("o=Widget, c=US");
while (list.hasMore()) {
NameClassPair entry = (NameClassPair)list.next();
display(entry.getName(), entry.getClassName());}
1)五个包:
javax.naming
javax.naming.directory
javax.naming.event
javax.naming.ldap
javax.naming.spi
其中前面4个package定义了JNDI客户端接口,面向使用命名和目录服务的应用。最后的javax.naming.spi定义了JNDI服务提供者接口(SPI),面向不同的命名和目录服务提供者。
2)命名服务:javax.Naming
——Context接口和InitialContext类
Context是命名服务的核心接口,提供对象查找,绑定/解除绑定,重命名对象,创建和销毁子上下文等操作。InitialContext类实现了Context接口,是访问命名服务的起始上下文,通过它可查找对象和子上下文。
Context主要方法:
根据名称获取对象:
Object lookup(Name name)
Object lookup(String name)
绑定名称到对象:void bind(Name name, Object obj)
void bind(String name, Object obj)
解除绑定,释放对象:
void unbind(Name name)
void unbind(String name)
将对象和一个已经存在的名称重新绑定:
void rebind(Name name, Object obj)
void rebind(String name, Object obj)
修改对象名称:
void rename(Name oldName, Name newName)
void rename(String oldName, String newName)
列出上下文中的所有对象名称信息。NameClassPair包含对象名称和对象类名:
NamingEnumeration<NameClassPair> list(Name name)
NamingEnumeration<NameClassPair> list(String name)
列出上下文中的所有绑定:
NamingEnumeration<Binding> listBindings(Name name)
NamingEnumeration<Binding> listBindings(String name)
创建子上下文:
Context createSubcontext(Name name)
Context createSubcontext(String name)
销毁子上下文:
void destroySubcontext(Name name)
void destroySubcontext(String name)
——Name接口
对应于命名服务概念中的对象名称。它的具体实现可能是一个简单的字符串,也可能是一个复杂对象。CompoundName类和CompositeName类均实现了Name接口,分别代表复合名称和混合名称。
——Binding类
对应于命名服务概念中的绑定。一个Binding包含对象名称,对象的类名称,对象本身。
——Referenceable接口和Reference类
命名服务中对象的存储方式各不相同。有的将对象直接序列化,这时实现标准的Serializable接口接口。有的要将对象存储在命名系统外部,这就要用到Referenceable接口和Reference类了。Reference类包含了怎样构造出一个实际对象的信息,实际对象则需要实现Referenceable接口。
Referenceable主要方法:
返回对象的引用:Reference getReference()
当将一个实现了Referenceable接口的对象绑定到Context时,实际上通过getReference()得到它的Reference进行绑定。而如何从Reference中创建出Referenceable实例,则由具体的SPI实现,JNDI客户不用关心。
3)目录服务:javax.naming.directory
——DirContext接口和InitialDirContext类
DirContext是目录服务的核心接口,它扩展了Context接口,除了提供了命名服务的各种操作外,还提供了访问和更新目录对象属性的操作,以及Search操作。InitialDirContext类扩展InitialContext类并实现了DirContext接口,是访问目录服务的起始点。
DirContext主要方法:
binding/rebing/unbinding等方法与Context类似,区别是各个方法中均添加了Attributes参数,表示绑定的是一个目录对象,其中有对象本身,还有对象的属性集合。这里不再列举。
获取对象的属性集合:
Attributes getAttributes(Name name)
修改对象的属性集合:
void modifyAttributes(Name name, int mod_op, Attributes attrs)
搜索包含匹配的属性的对象:
NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes)
通过查询过滤条件进行搜索,同时指定了搜索控制:
NamingEnumeration<SearchResult> search(Name name, String filter, SearchControls cons)
——Attribute接口和Attributes接口
Attribute接口对应于目录服务概念中的属性。Attributes表示属性的集合。
——SearchResult类和SearchControls类
SearchResult类继承自Binding类,表示DirContext的search操作的结果。SearchControls类用于对搜索操作进行更精细的控制,如指定搜索范围(Scope),时间限制(TimeLimit)和结果数量限制(CountLimit)。
4)命名和目录服务事件:javax.naming.event
——EventContext接口和EventDirContext接口
分别表示支持事件通知的上下文,提供了添加和删除事件监听器的操作。
——NamingEvent类
命名和目录服务产生的事件。包含一个type表示不同的事件类型。
——NamingListener/NamespaceChangeListener/ObjectChangeListener
NamingListener是处理NamingEvent事件监听器的接口,NamespaceChangeListener和ObjectChangeListener是它的两个子接口,分别定义了各自感兴趣的NamingEvent事件类型的处理方法。
发表评论
-
开发经验总结(1)
2012-09-11 20:00 916[/align][align=left]经验1 : ... -
接口 与 抽象类 区别
2012-08-10 15:40 889/** * 抽像类和接口 区别 : * * 首先抽象 ... -
throws和throw
2012-08-10 15:41 754throws和throw 系统自动抛出的异常 ... -
windows批处理
2012-06-07 15:06 927批处理文件,在MS-DOS中,.bat文件是可执行文件,有一系 ... -
static代码块 正确理解
2012-05-02 17:29 914.static代码块 static代码块也叫静态代码块, ... -
ireport 部署到 linux系统字体问题
2012-03-01 17:50 1460今天使用ireport导出pdf,在windows下,一切好好 ... -
json-llib Java 与 json 之间互换
2012-02-21 13:51 1263package com.mai.json; import s ... -
HttpClient简介
2012-02-21 10:37 1155HttpClient简介 一、HttpCli ... -
同一台Windows/Linux下安装多个Tomcat服务
2012-02-10 17:37 1810本文以apache-tomcat-6.0.18为例 1、下载软 ... -
常见的异常--java
2012-01-13 11:30 827常见一: already in use: JVM_Bind错 ... -
文件下载
2012-01-09 00:33 824支持多种不同文件格式下载: logger.inf ... -
ztress
2011-11-03 16:36 959官网地址:http://www.baby6 ... -
运用Jconsole监控JVM内存连接到远程linux与windows服务器
2011-08-16 10:03 1647运用Jconsole监控JVM内存连接到远程linux与win ... -
生成 MyEclipse 注册码
2011-06-13 09:36 938import java.io.BufferedReader;i ... -
XML
2011-05-14 12:35 607java 提供第三方架包 dom4j 读写 XML文件 ... -
MyEclipse6.5安装SVN插件的三种方法
2011-01-21 13:00 1175MyEclipse6.5安装SVN插件的 ... -
spring2.5 容器注解的理解
2011-01-21 10:08 1049Spring中使用annotation注入 我们使用Sp ... -
手机开发 如何在Windows下搭建Android开发环境
2010-08-11 10:30 737http://blog.csdn.net/Mac_cm/arc ... -
spring 核心技术详解 包括AOP 原理
2010-08-09 10:49 1159http://blog.chinaunix.net/u/109 ... -
ssl 加密技术集合
2010-06-09 09:30 807http://lindows.iteye.com/blog/2 ...
相关推荐
【JNDI命名和目录服务】是JAVA编程中的一项核心技术,它提供了对各种命名和目录服务的统一访问接口。JNDI,全称为Java Naming and Directory Interface,它不是具体的命名或目录服务,而是一组API,使得Java程序能够...
### JNDI(Java 命名和目录接口) #### 概述 JNDI,全称为Java Naming and Directory Interface,是Java平台中用于访问命名和目录服务的API。命名和目录服务在分布式环境中扮演着关键角色,它们帮助应用程序定位和...
JNDI(Java Naming and Directory Interface)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI SPI的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,...
Java EE 中的资源注入是指通过 JNDI(Java 命名和目录接口)命名空间将企业级应用程序中所需的各种资源(如数据源、连接器和自定义资源等)动态地注入到容器管理的对象(例如 Servlet、JavaBean 等)中的过程。...
JNDI(Java Naming and Directory Interface)是Java平台提供的一种标准接口,用于访问各种命名和目录服务。它提供了一种统一的方式,使得Java应用程序可以透明地访问不同的命名和目录服务,如LDAP、DNS等。 **特点...
Java Naming and Directory Interface (JNDI) 是Java平台中用于访问和管理命名和目录服务的一组接口和类。它提供了一种标准的方式来查找和访问多种类型的服务,如对象注册表、目录服务、数据库连接池等。JNDI的核心...
### Java 命名和目录服务的接口 (JNDI) #### 一、JNDI 概述 Java Naming and Directory Interface(JNDI)是Java平台提供的一个标准API,用于实现应用程序与命名及目录服务之间的交互。它类似于Java Database ...
**JNDI(Java Naming and Directory Interface)**是Java平台中的一个重要组件,它为Java应用程序提供了一种标准的接口来访问各种命名和目录服务。JNDI的主要目标是使Java开发者能够方便地接入多种不同的命名和目录...
Java 命名和目录接口(JNDI)是Java应用程序访问命名和目录服务的关键工具。命名服务的核心功能是通过名称将对象与它们的标识关联,便于用户通过名称而非直接引用访问对象。目录服务则在此基础上增加了属性概念,...
Java Naming and Directory Interface (JNDI) 是Java平台中用于访问和管理命名和目录服务的一组接口和类。它提供了一种标准的方式来查找和访问多种类型的资源,如数据源、对象服务、邮件服务器等。JNDI的核心理念是...
Java Naming and Directory Interface (JNDI) 是Java平台中用于访问命名和目录服务的API,它为各种不同的命名和目录服务提供了统一的接口。在Java应用程序中,JNDI允许开发者查找和绑定对象,这些对象可以是数据源、...
它为应用程序提供了查找和访问命名和目录服务的统一接口,使得Java应用能够与各种命名和目录服务进行交互,如DNS、LDAP、NIS等。JNDI的重要性在于它简化了开发人员在不同环境下配置资源的过程,增强了程序的可移植性...
JNDI作为Java平台中的一个关键组成部分,为应用程序提供了一种统一的方式来访问各种命名和目录服务。以下是对该技术的关键知识点进行深入解读: ### JNDI概述 Java Naming and Directory Interface(JNDI)是Java...
Java Naming and Directory Interface(简称 JNDI)是 Sun Microsystems 开发的一种标准接口,用于访问各种命名和目录服务。它为应用程序提供了一种独立于特定目录服务的抽象层,使得开发者能够在不关心底层具体实现...
JNDI作为一个Java平台的标准接口,它为开发者提供了通过名字查找和访问各种命名服务和目录服务的能力。 1. **JNDI概述** - **命名和目录服务**:网络上的资源需要通过命名服务来定位,如DNS用于IP地址的查找。目录...
JNDI(Java Naming and Directory Interface)是Java平台提供的一种标准接口,用于访问命名和目录服务。它允许程序查找和操作存储在不同类型的命名或目录服务中的对象,如 LDAP(Lightweight Directory Access ...
JNDI(Java Naming and Directory Interface)是Java平台中用于访问命名服务和目录服务的一套标准API。它为开发者提供了访问不同类型的命名和目录服务(如DNS、LDAP等)的一致接口。 **命名服务**:命名服务是将...
JNDI的主要目标是提供一种统一的接口,使得Java应用程序可以透明地访问各种类型的命名和目录服务,如DNS、LDAP(轻量级目录访问协议)、RMI(远程方法调用)注册表等。通过JNDI,开发者无需了解底层服务的具体实现,...
* 服务提供程序是一组类,这些类针对特定的命名和目录服务实现了各种 JNDI 接口。 * 服务提供程序的作用是帮助应用程序访问特定的目录服务。 * JNDI SPI(Service Provider Interface)提供了一个标准的接口,以便...