千里冰封
          JAVA 濃香四溢
          posts - 151,comments - 2801,trackbacks - 0

           

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

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

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

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

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

          由于此書用的IDE是Eclipse,可是我用的IDE是NetBeans,所以有些地方就實(shí)踐不了了,但是能實(shí)踐的,我都盡量會(huì)去實(shí)踐一下,哪怕是抄代碼,我也會(huì)親手抄一遍.我覺(jué)得這對(duì)我們初學(xué)者來(lái)說(shuō)有很大的幫助.

          今天學(xué)的是會(huì)話BEAN,有狀態(tài)會(huì)話BEAN和無(wú)狀態(tài)會(huì)話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);    
                  
          }   

          實(shí)現(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})   //表示是遠(yuǎn)程調(diào)用 
          public class HelloWorldBean implements HelloWorld {    
                  
              
          /** Creates a new instance of HelloWorldBean */   
              
          public HelloWorldBean() {    
              }    
              
          public String sayHello(String who){    
                  
          return who+"說(shuō):這是我的第一個(gè)EJB東東!!";    
              }    
          }    

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

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

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

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

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

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

          希望以后的日記中能搞清楚這個(gè)問(wèn)題




          盡管千里冰封
          依然擁有晴空

          你我共同品味JAVA的濃香.
          posted on 2007-09-06 17:01 千里冰封 閱讀(1801) 評(píng)論(6)  編輯  收藏 所屬分類: JAVAEE

          FeedBack:
          # re: EJB初學(xué)日記(1)[未登錄](méi)
          2007-09-06 17:24 | Samuel
          一下子學(xué)會(huì)Spring是不可能的。需要結(jié)合實(shí)際慢慢的去體會(huì)!  回復(fù)  更多評(píng)論
            
          # re: EJB初學(xué)日記(1)
          2007-09-06 19:12 | Goodtiger
          還是Spring對(duì)EJB的支持更顯得有思想  回復(fù)  更多評(píng)論
            
          # re: EJB初學(xué)日記(1)
          2007-09-21 11:35 | kawaii
          支持!  回復(fù)  更多評(píng)論
            
          # re: EJB初學(xué)日記(1)
          2007-10-11 20:28 | 小數(shù)
          # re: EJB初學(xué)日記(1)
          2007-11-09 09:23 | 姜利陽(yáng)
          最近也在研究EJB方面,共同學(xué)習(xí)  回復(fù)  更多評(píng)論
            
          # re: EJB初學(xué)日記(1)
          2008-01-25 00:19 | damagegod
          呵呵。樓主的J2SE功底相當(dāng)深厚啊。  回復(fù)  更多評(píng)論
            
          # re: EJB初學(xué)日記(1)
          2008-03-24 10:45 | cdphantom
          放到JBOSS_HOME/server/all/deploy和JBOSS_HOME/server/default/deploy
          兩個(gè)有什么區(qū)別.  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 抚顺县| 滦平县| 沁水县| 深圳市| 沈阳市| 斗六市| 文山县| 靖宇县| 绥宁县| 佛山市| 略阳县| 江华| 忻州市| 桦川县| 曲靖市| 桂阳县| 广安市| 筠连县| 衡南县| 徐汇区| 绥化市| 宜良县| 汤阴县| 福清市| 唐海县| 尉犁县| 邮箱| 新邵县| 正宁县| 济源市| 凤台县| 兰州市| 亳州市| 喜德县| 东光县| 霍州市| 南靖县| 青川县| 仪陇县| 海丰县| 南宫市|