J2EE,Documentum,GWT,EJB學習路程

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

           

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

           

          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實現(xiàn)的框架,能夠動態(tài)的插入命名和目錄服務(wù)提供商的產(chǎn)品;

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

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

                   2.原理:

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

          3.怎樣連接到JNDI上?

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

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

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

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

                             Context context = environment.getInitialContext() ;

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

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

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

                             subContext.close() ;

                             context.close() ;

          4.如何通過JNDI查找bind的對象?

                   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 田亮 閱讀(3298) 評論(4)  編輯  收藏 所屬分類: J2EE總結(jié)

          評論

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

          UP  回復  更多評論   

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

          very good!讓我豁然開朗  回復  更多評論   

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

          非常好,我第二次評價啦  回復  更多評論   

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

          good  回復  更多評論   

          導航

          統(tǒng)計

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          MyHome

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 稻城县| 江山市| 建瓯市| 博客| 罗山县| 虎林市| 甘洛县| 聂拉木县| 卓资县| 桐城市| 盐城市| 海林市| 巴林右旗| 呼和浩特市| 武宣县| 青州市| 安庆市| 西丰县| 岳普湖县| 道真| 鹤山市| 舞钢市| 鹤岗市| 鄯善县| 轮台县| 涪陵区| 龙海市| 共和县| 邛崃市| 常州市| 彭山县| 隆尧县| 舞阳县| 高台县| 塔河县| 滨州市| 桂东县| 清新县| 翁牛特旗| 乌兰浩特市| 咸丰县|