查看“JNDI”的源代码
←
JNDI
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于这些用户组的用户使用:
管理员
、
行政员
、users
您可以查看与复制此页面的源代码。
== 用途 == [[File:01300000335934123501143537966.jpg|thumb|(图)JNDI]] 命名或[[目录服务]]使用户可以集中存储共有信息,这一点在[[网络]]应用中是重要的,因为这使得这样的应用更协调、更容易管理。例如,可以将[[打印机]]设置存储在目录服务中,以便被与打印机有关的应用使用。 我们大家每天都不知不觉地使用了命名服务。例如,当在[[web浏览器]]输入URL,http://java.sun.com时,DNS(Domain Name System,域名系统)将这个符号URL名转换成通讯标识([[IP地址]])。命名系统中的对象可以是[[DNS]]记录中的名称、应用服务器中的[[EJB组件]](Enterprise JavaBeans Component)、[[LDAP]](Lightweight Directory Access Protocol)中的用户Profile。 [[目录服务]]是命名服务的自然扩展。两者之间的关键差别是目录服务中对象可以有属性(例如,用户有[[email地址]]),而命名服务中对象没有属性。因此,在目录服务中,你可以根据属性搜索对象。JNDI允许你访问[[文件系统]]中的文件,定位远程RMI注册的对象,访问象LDAP这样的目录服务,定位[[网络]]上的[[EJB组件]]。 对于象LDAP 客户端、应用[[launcher]]、[[类浏览器]]、[[网络管理实用程序]],甚至地址薄这样的应用来说,JNDI是一个很好的选择。 JNDI可访问的现有的目录及服务有: DNS、XNam 、Novell目录服务、LDAP(Lightweight Directory Access Protocol 轻型目录访问协议)、 CORBA对象服务、[[文件系统]]、[[Windows XP]]/2000/NT/Me/9x的[[注册表]]、RMI、DSML v1&v2、NIS。 == 架构 == [[JNDI架构]]提供了一组标准的独立于命名系统的[[API]],这些API构建在与命名系统有关的驱动之上。这一层有助于将应用与实际数据源分离,因此不管应用访问的是[[LDAP]]、[[RMI]]、[[DNS]]、还是其他的[[目录服务]]。换句话说,JNDI独立于目录服务的具体实现,只要有目录的服务提供接口(或驱动),就可以使用目录。 关于JNDI要注意的重要一点是,它提供了应用[[编程接口]](application programming interface,API)和服务提供者接口(service provider interface,SPI)。这一点的真正含义是,要让应用与命名服务或目录服务交互,必须有这个服务的JNDI服务提供者,这正是JNDI SPI发挥作用的地方。服务提供者基本上是一组类,这些类为各种具体的命名和目录服务实现了JNDI接口—很象JDBC驱动为各种具体的数据库系统实现了[[JDBC接口]]一样。作为一个应用开发者,不必操心JNDI SPI。只需要确认要使用的每一个命名或目录服务都有服务提供者。 == 组件 == 1、Javax.naming:包含了访问命名服务的类和接口。例如,它定义了Context接口,这是命名服务执行查询的入口。 2、Javax.naming.directory:对命名包的扩充,提供了访问目录服务的类和接口。例如,它为属性增加了新的类,提供了表示目录上下文的DirContext接口,定义了检查和更新目录对象的属性的方法。 3、Javax.naming.event:提供了对访问命名和目录服务时的时间通知的支持。例如,定义了NamingEvent类,这个类用来表示命名/目录服务产生的事件,定义了侦听NamingEvents的NamingListener接口。 4、Javax.naming.ldap:这个包提供了对LDAP 版本3扩充的操作和控制的支持,通用包javax.naming.directory没有包含这些操作和控制。 5、Javax.naming.spi:这个包提供了一个方法,通过javax.naming和有关包动态增加对访问命名和目录服务的支持。这个包是为有兴趣创建服务提供者的开发者提供的。 == 优点 == '''包含了大量的命名和目录服务,使用通用接口来访问不同种类的服务;''' '''可以同时连接到多个命名或目录服务上;''' '''建立起逻辑关联,允许把名称同Java对象或资源关联起来,而不必指导对象或资源的物理ID。''' == 服务提供者 == Java 2 SDK1.3及以上的版本包含了JNDI。对于JDK 1.1和1.2也有一个标准的扩展。Java 2 SDK 1.4.x的最新版本包括了几个增强和下面的命名/目录服务提供者: 1、LDAP(Lightweight Directory Access Protocol)服务提供者 2、CORBA COS(Common Object Request Broker Architecture Common Object Services)命名服务提供者 3、RMI(Java Remote Method Invocation)注册服务提供者 4、DNS(Domain Name System)服务提供者 [[Category:技術應用]]
返回至
JNDI
。
导航菜单
华夏文化百科
访客
个人工具
创建账户
登录
名字空间
页面
讨论
不转换
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
台灣正體
视图
查看
查看源代码
历史
操作
搜索
华韵导航
子站导航
首页
查字
助手
经典
文集
重要典籍
家训大全
论语集释
周易
资治通鉴
竹书纪年
十三经
金瓶梅小说
古典小说
百科导航
新撰词条
近篡词条
待撰词条
随机页面
使用帮助
工具
链入页面
相关更改
特殊页面
页面信息
旧字形下载
DroidSansFallback(荐)
H-MingLiUC-98(荐)
花园明朝体九万汉字
海峰十三万汉字库
极点海峰9.5词库
更多