设为首页】 【加入收藏】 【网站地图】 【商品折扣
娱乐一生 娱乐明星
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
首页  |  java  |  .NET  |  C/C++  |  网页技术  |  php  |  asp  |  delphi  |  VC  |  VB开发  |  游戏开发  |  软件工程  |  Power Builder  |  Linux开发  |  Windows开发技巧
当前位置:首页 >> J2EE基础 >> JNDI(Java Naming Directory Interface) -IT资源在线

JNDI(Java Naming Directory Interface) -IT资源在线 -

命名服务(naming service)
命名服务是计算机系统中的一个基本功能。命名服务是将名字和计算机中的一个对象相关联,通过名字可以方便地找到对应的对象。例如,计算机中的文件系统就包含了一个命名服务,你可以通过文件名找到对应的文件对象。
目录服务(directory service)
目录服务是命名服务的延伸,目录服务不只保存对象和对象名的匹配,而且保存这个对象的各种属性,你可以对这些属性进行查询、修改、增加、删除操作。


JNDI(Java Naming Directory Interface)
JNDI是一些标准API接口,Java程序通过这些API可以访问命名目录服务。JNDI的定义不依赖于任何独立的命名目录服务器,对于各种命名目录服务器,都可通过统一的JNDI接口调用。JNDI结构如下:





JNDI结构包括两组API:JNDI API(A lication Programming Interface)和JNDI  I(Service Provider Interface)。Java应用程序通过JNDI API访问各种命名目录服务。JNDI  I使得各种命名目录服务透明地加入到JNDI结构中,如上图中的LDAP、D 、NIS等服务通过JNDI  I加入到JNDI结构中,从而使Java应用程序能够通过JNDI API访问这些服务。


JNDI Context
Context是一系列命名到对象绑定的集合,Context提供以下主要接口访问命名服务:


bind(Name name, Object obj) 建立一个命名到一个对象的匹配关系,也叫绑定
lookup(String name) 通过命名查找其对应的对象
rebind(Name name, Object obj) 重新绑定一个命名到对象,覆盖原来的绑定
u ind(Name name) 解除这个命名到其匹配对象的绑定关系
... ...


Apusic JNDI 应用举例
Apusic A lication Server包含一个完全遵循JNDI标准的命名服务器,下面我们举例说明如何通过JNDI接口找到你需要调用的EJB Home接口。


Context ctx = null;
try {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.apusic.jndi.InitialContextFactory");
env.put(Context.PROVIDER_URL, "rmi://localhost:6888");
env.put(Context.SECURITY_PRINCIPAL, null);
env.put(Context.SECURITY_CREDENTIALS, null);
ctx = new InitialContext(env);
} catch (Exception e) {
System.err.println("Ca ot get initial context: " + e);
System.exit(1);
}


AccountHome home = null;
try {
home = (AccountHome) ctx.lookup("CMAccountHome");
} catch (Exception e) {
System.err.println("Ca ot lookup CMAccountHome" + e);
System.exit(1);
}


首先,通过Hashtable env传递JNDI调用参数,取得JNDI Context ctx,各参数说明如下:
Context.INITIAL_CONTEXT_FACTORY: 指定jndi环境的工厂,在Apusic中必须为 com.apusic.jndi.InitialContextFactory
Context.PROVIDER_URL: 指定命名服务提供者的URL,格式为:rmi://localhost:6888
Context.SECURITY_PRINCIPAL: 指定用户身份,null为“匿名用户”
Context.SECURITY_CREDENTIALS: 指定用户密码,同上




然后,通过JNDI Context ctx 的lookup方法找到"CMAccountHome"绑定的CMAccountBean的Home接口。





 

娱乐图摘

更多 >>

靓丽清纯美女meimei

美女私房全裸照
导演劝女演员脱衣服(视频)

大胆火辣人体艺术写真(图)

黑丝妹妹热辣诱惑-丝袜美女妹妹

PLMM 漂亮妹妹图集-妹妹图库

全球美女图库-美女集中营

52MM 我爱漂亮妹妹-制服妹妹诱惑

图王图库-世界美女明星图片资料库
美女写真集锦

激情两性-解密性生活
浴室MM湿身内衣诱惑
邻家小妹洗澡被偷拍(视频)

热点文章

更多

· 利用Java语言实现数据报编程之单播_J2EE_Java开发
· AJAX编程实践之与服务器通信_J2EE_Java开发_软件
· 现代Java Web开发架构分析_J2EE_Java开发_软
· Java多线程编程基础之非线程的方法_J2EE_Java开发
· 在 Java 应用程序中访问USB设备_J2EE_Java开
· 开发保留标准浏览器功能的AJAX应用程序_J2EE_Java
· 剖析AJAX成为“时尚”的十大主要理由_J2EE_Java开
· 在Java中实现UDP协议编程的方法_J2EE_Java开发
· J2EE应用开发阶段划分_J2EE_Java开发_软件开发
· 用AJAX开发智能Web应用程序之高级篇_J2EE_Java

热点文章

更多