J2EE,Documentum,GWT,EJB學(xué)習(xí)路程

          為了所愛的,和愛我的人努力

           

          J2EE總結(jié)---JNDI技術(shù) 我的所有隨筆屬于個(gè)人總結(jié),有不足之處請(qǐng)回復(fù)指出

           

          1.       什么是JNDIJava Naming and Directory Interface

          JNDI是用于訪問不同命名和目錄服務(wù)的統(tǒng)一API接口;

          2.       JNDI的架構(gòu)和原理

                1.       架構(gòu):

                   第一層:java代碼,是訪問JNDI的代碼;

                   第二層:JNDI API:統(tǒng)一的命名和目錄服務(wù)接口

                   第三層:JNDI Naming ManagerJNDI管理器

                   第四層:JNDI SPI:用于構(gòu)建JNDI實(shí)現(xiàn)的框架,能夠動(dòng)態(tài)的插入命名和目錄服務(wù)提供商的產(chǎn)品;

                   第五層:命名和目錄服務(wù)提供商的產(chǎn)品;

                   命名和目錄服務(wù)提供商的產(chǎn)品,例如:DNS,LDAP,NIS,NDS……..;因?yàn)檫@些產(chǎn)品都是不同的提供商提供的產(chǎn)品,所以他們的命名和目錄服務(wù)的標(biāo)準(zhǔn)不一致,各個(gè)目錄服務(wù)采用的訪問協(xié)議也是不一樣的,所以,要是直接訪問他們的話,就要編寫不同的java代碼來訪問他們;因此,JNDI SPI就解決了這個(gè)問題,它能動(dòng)態(tài)的插入這些命名和目錄服務(wù),能夠?qū)⑵鋮f(xié)議專屬的目錄產(chǎn)品集成到系統(tǒng)中,使得我們能只需要調(diào)用一個(gè)統(tǒng)一的javaAPI就能夠訪問插入的產(chǎn)品了;

                   2.原理:

                         JNDI其實(shí)很好理解,他就是一個(gè)樹狀的結(jié)構(gòu),它的最頂是一個(gè)initialContext節(jié)點(diǎn),然后它的下面就是綁定的一些對(duì)象或是一些subContext,用JNDI樹就能夠查找到樹中每一個(gè)綁定上的節(jié)點(diǎn)上的對(duì)象的引用;

          3.怎樣連接到JNDI上?

                            Environment environment = new Environment() ;//創(chuàng)建一個(gè)環(huán)境對(duì)象

                             environment.setProviderurl(“t3://www.aygfsteel.com”) ;

                             environment.setSecurityPrincipal(“todd”) ;//認(rèn)證的用戶名

                             environment.setSecurityCredentials(“841026”) ;//密碼

                             Context context = environment.getInitialContext() ;

                   //創(chuàng)建一個(gè)subContext并綁定一個(gè)對(duì)象:

                             Context subContext = context.createSubcontext(“subContext”) ;

                             subContext.rebind(“newObject”,object) ;//綁定的對(duì)象必須是可序列化的

                             subContext.close() ;

                             context.close() ;

          4.如何通過JNDI查找bind的對(duì)象?

                   Object object = context.lookup(“User”) ;

                   //user窄化到原型

                   User user = (User)javax.rmi.PortableRemoteObject.narrow(object, User.class) ;

                   context.close() ;

          posted on 2007-04-09 08:16 田亮 閱讀(3294) 評(píng)論(4)  編輯  收藏 所屬分類: J2EE總結(jié)

          評(píng)論

          # re: J2EE總結(jié)---JNDI技術(shù) 我的所有隨筆屬于個(gè)人總結(jié),有不足之處請(qǐng)回復(fù)指出 2007-04-09 13:29 αβγ

          UP  回復(fù)  更多評(píng)論   

          # re: J2EE總結(jié)---JNDI技術(shù) 我的所有隨筆屬于個(gè)人總結(jié),有不足之處請(qǐng)回復(fù)指出 2007-04-09 16:04 楊愛友

          very good!讓我豁然開朗  回復(fù)  更多評(píng)論   

          # re: J2EE總結(jié)---JNDI技術(shù) 我的所有隨筆屬于個(gè)人總結(jié),有不足之處請(qǐng)回復(fù)指出 2007-04-10 00:22 good

          非常好,我第二次評(píng)價(jià)啦  回復(fù)  更多評(píng)論   

          # re: J2EE總結(jié)---JNDI技術(shù) 我的所有隨筆屬于個(gè)人總結(jié),有不足之處請(qǐng)回復(fù)指出[未登錄] 2007-04-10 14:44 永恒

          good  回復(fù)  更多評(píng)論   

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊(cè)

          MyHome

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 盐津县| 白银市| 乐清市| 信阳市| 卓资县| 博爱县| 潮安县| 昭通市| 大埔县| 嵊州市| 桦川县| 尖扎县| 察隅县| 富顺县| 勃利县| 交城县| 武宣县| 青海省| 乃东县| 资溪县| 三河市| 冷水江市| 武汉市| 阿勒泰市| 滕州市| 息烽县| 外汇| 静安区| 象州县| 景泰县| 邢台市| 根河市| 龙游县| 牡丹江市| 合川市| 石首市| 东山县| 土默特左旗| 湖南省| 沧州市| 普洱|