posts - 0, comments - 77, trackbacks - 0, articles - 356
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          EJB初學日記(1)

          Posted on 2007-09-18 21:27 semovy 閱讀(189) 評論(0)  編輯  收藏 所屬分類: EJB

          今天終于還是下定決心看看EJB,看著SPRING看了兩天,覺得一點頭緒都沒有,我不是一個講究速成的人,但是總是感覺和它們的理念不太一樣,唉,真可憐,都怪自己,初學JAVA的時候就把J2SE看得太重了.

          在學習了J2SE一整年之后,發(fā)現(xiàn)JAVA的應(yīng)用還遠遠沒有掌握,我學習一年的結(jié)果就是剛剛對JAVA有所了解而已,回首這一年的路,挺艱難的,但是現(xiàn)在以一個過來人的姿態(tài)去看的時候,我又學得很慶幸.因為我沒有放棄,在我學習條件最艱苦的時候,在我最無助的時候我都沒有放棄.曾經(jīng)記得為了想一個小小的程序,為了實現(xiàn)一個小小的功能,在那里苦思冥想,想得都想吐了,還記得半夜從夢中醒來的時候,腦子里滿是程序代碼,甚至做夢的時候也在編程序,想算法.就這樣,一年,我磕磕碰碰的走過來了.

          一年后的今天,我將重新站在一個全新的起點上:J2EE,面全企業(yè)的應(yīng)用,希望以后心態(tài)能像一年前一樣.踏踏實實地走過.一步一個腳印.記得一年前,我剛學JAVA時,喜歡寫學習日記,喜歡把自己不懂的,以及當天收獲的,還有對一些程序的理解和看法記下來,并且過一段時間就去看以前寫的學習日記,那時候經(jīng)常會發(fā)現(xiàn)自己有所進步.那種感覺,真的很好.

          今天算我第一天,我下面把我今天所看到的,寫下來,以及自己不太了解的地方寫下來,做為一個初學者最真實的心理反應(yīng)和想法,也為自己J2EE之路留下些紀念.

          今天下載了黎活明的EJB3.0實例教程,學了如何裝JBoss4.0,第一次我下載的是免安裝版,直接解壓縮就可以用了,但是一直都配置不好那個EJB的應(yīng)用,后來,刪掉重新按照書上的地址下載了一個安裝版的,并按照介始的順序和方法安裝了一遍,一布署,呵,真的可以了.看到網(wǎng)頁打開的一霎那,真的感覺很有成就感,雖然應(yīng)用都是別人寫的.

          由于此書用的IDE是Eclipse,可是我用的IDE是NetBeans,所以有些地方就實踐不了了,但是能實踐的,我都盡量會去實踐一下,哪怕是抄代碼,我也會親手抄一遍.我覺得這對我們初學者來說有很大的幫助.

          今天學的是會話BEAN,有狀態(tài)會話BEAN和無狀態(tài)會話BEAN
          聲明接口的代碼

           

          /*   
           * HelloWorld.java   
           *   
           * Created on 2006年12月7日, 下午9:26   
           *   
           * To change this template, choose Tools | Template Manager   
           * and open the template in the editor.   
           
          */   
             
          package lbf.demo;    
             
          /**   
           *   
           * 
          @author lbf   
           
          */   
          public interface HelloWorld {    
                  
              
          /** Creates a new instance of HelloWorld */   
              
          public String sayHello(String who);    
                  
          }   

          實現(xiàn)接口的代碼

          /*   
           * HelloWorldBean.java   
           *   
           * Created on 2006年12月7日, 下午9:27   
           *   
           * To change this template, choose Tools | Template Manager   
           * and open the template in the editor.   
           
          */   
             
          package lbf.demo.impl;    
             
          /**   
           *   
           * 
          @author lbf   
           
          */   
          import lbf.demo.*;    
          import javax.ejb.*;    
          @Stateless   
          @Remote({HelloWorld.
          class})   //表示是遠程調(diào)用 
          public class HelloWorldBean implements HelloWorld {    
                  
              
          /** Creates a new instance of HelloWorldBean */   
              
          public HelloWorldBean() {    
              }    
              
          public String sayHello(String who){    
                  
          return who+"說:這是我的第一個EJB東東!!";    
              }    
          }    

          打包成JAR文件以后,放到JBOSS_HOME/server/all/deploy下面就可以了,JBOSS支持熱布置,這一點和TOMCAT一樣

          只是兩者的目錄結(jié)構(gòu)有一點不一樣而已,并且它也支持WAR布署.同樣也是復制到JBOSS_HOME/server/all/deploy下面

          用ctx.lookup("HelloWorldBean/remote"); 來查找綁定的BEAN,一般命名規(guī)則是

          在這里我要重點說明一下EJB JNDI名稱默認的命名規(guī)則,命名規(guī)則如下:
          1> 如果EJB應(yīng)用打包成后綴為*.ear 的發(fā)布文件,默認的 JNDI 名稱是
          訪問本地接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/local
          訪問遠程接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/remote
          例:如果HelloWorld應(yīng)用打包成HelloWorld.ear 文件,訪問她遠程接口的 JNDI 名是:
          HelloWorld/HelloWorldBean/remote 
           
          2> 如果EJB應(yīng)用打包成后綴為*.jar 的發(fā)布文件,  默認的 JNDI 名稱是
          訪問本地接口:EJB-CLASS-NAME/local 
          訪問遠程接口:EJB-CLASS-NAME/remote
          例: HelloWorld應(yīng)用打包成HelloWorld.jar 文件,訪問她遠程接口的 JNDI名稱是:HelloWorldBean/remote
          另外有一點要注意:EJB-CLASS-NAME 是不帶包名的,如 com.foshanshop.ejb3.impl.HelloWorldBean只需取
          HelloWorldBean。
          目前網(wǎng)上很多教材獲取JNDI名的方式都過時了,如:
          HelloWorld helloworld = (HelloWorld) ctx.lookup(HelloWorld.class.getName());

          stateless每次查找都會返回同一個BEAN,而stateful每次查找都會產(chǎn)生一個新的BEAN,用來保存特定的客戶會話

          那按照上面的命名規(guī)則,豈不是很容易生成相同的名字的BEAN?因為它的名字那么短,如何避免這種情況呢.EJB應(yīng)該有解決的辦法吧.看以后吧

          希望以后的日記中能搞清楚這個問題

          主站蜘蛛池模板: 瓮安县| 祁阳县| 鹿泉市| 平定县| 四会市| 辽源市| 博罗县| 喜德县| 房产| 延津县| 庆城县| 玛纳斯县| 东海县| 陵川县| 华池县| 伊川县| 涿州市| 浪卡子县| 汕头市| 淳安县| 大厂| 永新县| 友谊县| 子洲县| 萝北县| 乐至县| 清徐县| 章丘市| 昭平县| 和田县| 井陉县| 五原县| 黄山市| 江永县| 威远县| 云龙县| 三台县| 东兰县| 龙州县| 永新县| 杭州市|