- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一JNDI应用
实验一 JNDI应用
基础知识 – JNDI简介(选读)
一、 什么是 JNDI
JNDI(Java Naming and Directory Interface JAVA命名和目录接口),是JAVA EE的核心技术之一,实现JAVA应用程序开发提供命名和目录访问服务的API(Application Programing Interface,应用程序编程接口)。
JNDI是命名服务的抽象机制java.naming.factory.initial指定,也可以根据Context的操作方法的url参数的Schema选择。
2.目录的概念与应用
JNDI的目录(Directory)是指将一个对象的所有属性信息保存到一个容器环境中,不同文件系统中的目录概念。JNDI的目录(Directory)原理与JNDI的命名(Naming)原理相似,主要的区别在于目录容器环境中保存的是对象的属性信息,而不是对象本身,故目录提供的是对属性的各种操作。
事实上,JNDI的目录(Directory)与命名(Naming)是结合在一起使用的,JNDI API中提供的代表目录容器环境的类为DirContext,DirContext是Context的子类,除了能完成目录相关的操作外,也能完成所有的命名(Naming)操作。DirContext是对Context的扩展,它在Context的基础上增加了对目录属性的操作功能,可以在其中绑定和查找对象的属性信息。JNDI中的目录(Directory)的结构示意图如图所示。
图中的每个最外层方框分别代表一个DirContext对象,它们绑定的名称分别为a和b,b是a的子DirContext。
图中各个最外层的方框内的每个小椭圆分别代表一个Java对象,而各个里层的方框分别代表一个对象的属性。从名称为a的DirContext中的内容可以看到,一个DirContext容器环境中即可以绑定对象自身,也可以绑定对象的属性信息。
绑定的对象和绑定的属性是完全独立的两个事物,即使它们的绑定名称相同,它们的操作也是完全独立的。另外,一个属性可以有多个属性值,例如,dog对象的category属性就设置了两个属性值:meat和pet。从名称为b的DirContext中的内容可以看到,一个DirContext容器环境中也可以只绑定对象的属性信息,而不绑定任何对象自身。与Context的操作原理类似,JNDI API中提供了一个InitialDirContext类来创建用作JNDI命名与目录属性操作的入口DirContext对象。
利用JNDI的命名与服务功能来满足企业级API对命名服务的访问,诸如EJB、JMS、JDBC 2.0以及RMI命名服务。JNDI程序包:javax.naming 命名操作Context接口,即执行查找时命名服务的入口点。 2 javax.naming.directory 目录操作:扩展命名包以提供用于访问目录服务的类和接口。例,增加了新的属性类,提供代表一个目录上下文的DirContext 接口,并且定义了用于检查和更新与目录对象相关的属性的方法。 3 javax.naming.event 请求事件通知NamingEvent类,用于表示由命名/目录服务生成的事件,以及一个监视NamingEvents 类的, NamingListener 接口。 4 javax.naming.ldap 提供LDAP支持LDAP 版本 3 扩展操作和空间提供特定的支持,而普通的javax.naming.directory 包没有提供这些支持。 5 javax.naming.spi 允许动态插入不同实现javax.naming及相关包访问命名和目录服务的支持
常用的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) 清单:返回绑定在特定上下文中对象
三、JNDI 程序主要技术
()获得名字服务的初始环境
命名服务的默认
文档评论(0)