《精通J2EE网络编程》中讲的JNDI 6.3总结
6.3? 小結(jié)
JNDI(命名和目錄接口)是一個為Java應(yīng)用程序提供命名服務(wù)的應(yīng)用程序編程接口(API)。為開發(fā)人員提供了查找和訪問各種命名和目錄服務(wù)的通用、統(tǒng)一的接口。
命名服務(wù)是一種服務(wù),它提供了為給定的數(shù)據(jù)集創(chuàng)建一個標(biāo)準(zhǔn)名字的能力。允許把名稱同Java對象或資源關(guān)聯(lián)起來,而不必指導(dǎo)對象或資源的物理ID。
目錄服務(wù)是一種特殊類型的數(shù)據(jù)庫,與SQL Server、Access、Oracle等關(guān)系數(shù)據(jù)庫管理系統(tǒng)相反,構(gòu)造目錄服務(wù)的目的是為了處理基于行為的事務(wù),并且使用一種關(guān)系信息模型。目錄服務(wù)將命名服務(wù)的概念進(jìn)一步引申為提供具有層次結(jié)構(gòu)的信息庫。
LDAP是在20世紀(jì)90年代早期作為標(biāo)準(zhǔn)目錄協(xié)議進(jìn)行開發(fā)的,它是目前最流行的目錄協(xié)議,與廠商跟平臺無關(guān)。LDAP定義客戶應(yīng)當(dāng)如何訪問服務(wù)器中的數(shù)據(jù),它并不指定數(shù)據(jù)應(yīng)當(dāng)如何存儲在服務(wù)器上。不使用服務(wù)提供者就不能用JNDI。在使用JNDI時,只需要了解JNDI,而服務(wù)提供者才關(guān)注實(shí)際的網(wǎng)絡(luò)協(xié)議、編碼/解碼值等細(xì)節(jié)。一個服務(wù)提供者就是一組Java類的集合,SDK中的服務(wù)提供者包括LDAP、NIS、COS(CORBA對象服務(wù))、RMI注冊及文件系統(tǒng)的提供者等。
JNDI中包括5個包:javax.naming、javax.naming.directory、javax.naming.event、javax.naming.ldap和javax.naming.spi。
常用的JNDI操作有:bind、unbind、lookup、rename、NamingEnumeration listBindings和NamingEnumeration list。
使用JNDI來訪問命名服務(wù)或者目錄服務(wù),操作步驟如下:
(1)建立一個散列表(hashtable),它包含定義所希望使用的JNDI服務(wù)的屬性,所希望連接的LDAP服務(wù)器IP地址以及工作的端口。
(2)將與認(rèn)證成用戶登錄有關(guān)的任何信息添加到散列表中。
(3)創(chuàng)建初始context對象。如果訪問命名服務(wù),則使用InitialContext類,如果訪問目錄服務(wù),則要使用InitialDirContext。
(4)使用剛才得到的context對象執(zhí)行所需的操作(如添加新的條目或者搜索條目)。
(5)完成操作后關(guān)閉context對象。
總結(jié)
以上是生活随笔為你收集整理的《精通J2EE网络编程》中讲的JNDI 6.3总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《精通J2EE网络编程》中讲的JNDI
- 下一篇: spring中bean的高级属性之lis