久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

企業(yè)版JavaBean討論

 亂⑦⑧糟 2006-07-27
企業(yè)版JavaBean討論

作者:佚名    來自:ZDNet

  在本文里,我們將對企業(yè)版JavaBean進(jìn)行討論,,以幫助消除你對創(chuàng)建自己第一個EJB的恐懼感,,并幫助你步入EJB開發(fā)的世界。

  安裝EJB運行和開發(fā)環(huán)境

  EJB必須要在EJB容器內(nèi)執(zhí)行,。所以,,我們必須安裝一個符合J2EE標(biāo)準(zhǔn)的EJB容器。為了幫助我們部署自己的EJB,,我們還需要一個部署工具,。來自Sun的、對J2EE的參考實現(xiàn)包含了一個EJB容器和一個EJB部署工具,。這個J2EE參考實現(xiàn)能夠在Sun發(fā)布的J2EE開發(fā)工具包里找到,。

  J2EE開發(fā)包要依靠Java 2 SDK、標(biāo)準(zhǔn)版(Standard Edition,,J2SE)的開發(fā)包,,所以你也需要把它下載下來。你需要J2SE SDK 來運行參照實現(xiàn)的J2EE服務(wù)器,,并創(chuàng)建和運行EJB應(yīng)用程序,。

  一旦你下載了開發(fā)包,,你就要安裝它們,并為每個開發(fā)包選擇理想的位置,。你要先定義一個叫作JAVA_HOME的環(huán)境變量,并將它指向J2SE開發(fā)包的安裝目錄,。然后,,定義一個叫做J2EE_HOME的環(huán)境變量,并把它指向J2EE開發(fā)包的安裝目錄,。

  現(xiàn)在你就準(zhǔn)備好開始編寫你的EJB了,。

  編寫一個簡單會話EJB

  開發(fā)一個EJB所涉及的大多數(shù)步驟和概念和我們開發(fā)傳統(tǒng)的Java對象(plain-old Java object,POJO)所使用的是相同的,,只有少數(shù)的不同之處,。下面就是開發(fā)和部署EJB的一個基本步驟:

  1. 為你的EJB編寫類和接口。
  2. 為你的EJB編寫部署描述符,。
  3. 將EJB和相關(guān)聯(lián)的文件打包進(jìn)一個jar文件,。
  4. 部署EJB。

  會話bean有兩種不同的類型,。在我們開始編寫代碼之前,,讓我們來看看它們之間的相同之處和不同之處。

  狀態(tài)會話EJB概述

  狀態(tài)會話EJB會在單個會話期間維持一種和客戶端的對話狀態(tài),。這就表示狀態(tài)會話EJB能夠在單個會話期間,,維持從一個客戶端跨越多個調(diào)用的實例變量。

  一旦客戶端完成了同EJB的交互操作,,而且EJB容易刪除了EJB,,那么EJB的會話就會結(jié)束,用于EJB的所有狀態(tài)數(shù)據(jù)都會被刪除,。

  無狀態(tài)會話EJB概述

  無狀態(tài)會話EJB不會為每個單獨的客戶端都維持一個對話狀態(tài),。對無狀態(tài)會話EJB的每次調(diào)用,都應(yīng)該被當(dāng)作是對一個全新的對象實例的請求,。因為任何實例-變量狀態(tài)都會在調(diào)用之間丟失,。

  無狀態(tài)會話EJB不會被EJB容器保存到第二存儲地里,所以程序員必須要知道:每個客戶端的每次調(diào)用之間的所有數(shù)據(jù)都是瞬時的,。無狀態(tài)會話EJB的瞬時特性允許EJB容器重復(fù)使用EJB實例,,因此常常會優(yōu)化EJB的性能。

  會話Bean之間的關(guān)系

  圖A說明了EJB客戶端,、EJB容器和幾個會話EJB之間的關(guān)系,。

  會話EJB包括至少三個強(qiáng)制類/接口。第一個強(qiáng)制類/接口是Component接口,。Component接口定義了一些對EJB來說是可視的商業(yè)方法,,它必須擴(kuò)展javax.ejb.EJBObject。

  這里我們會舉個例子,實現(xiàn)一個非常簡單的無狀態(tài)會話EJB,,它會在一個叫作getBalance的方法里返回帳目結(jié)算,。我們Component接口的代碼如下:

  package com.jeffhanson.ejb;

  public interface Account extends javax.ejb.EJBObject, java.rmi.Remote
  {
   public String getBalance() throws java.rmi.RemoteException;
  }

  第二個強(qiáng)制類/接口是Home接口。Home接口被EJB客戶端用來獲取對Bean的組件接口的參照,,它必須擴(kuò)展javax.ejb.EJBHome,。我們Home接口的代碼如下:

  package com.jeffhanson.ejb;

  public interface AccountHome extends javax.ejb.EJBHome
  {
    public Account create() throws javax.ejb.CreateException,
                                  java.rmi.RemoteException;
  }

  第三個強(qiáng)制類/接口是Enterprise Bean類。Enterprise Bean類為Component接口和Home接口提供實現(xiàn),。用于會話EJB的Enterprise Bean類必須要實現(xiàn)javax.ejb.SessionBean接口,。我們Enterprise Bean類的代碼如下:

  package com.jeffhanson.ejb;

  public class AccountBean
   implements javax.ejb.SessionBean
 {
   private javax.ejb.SessionContextctx;
 
   public void ejbActivate() {}
 
   public void ejbCreate() {}

   public void ejbRemove() {}
 
   public void ejbPassivate() {}
 
   public void setSessionContext(javax.ejb.SessionContextctx)
   {  
      this.ctx = ctx;
   }
 
   // business method
   public String getBalance()
      throws java.rmi.RemoteException
   {
      String balance = dataObj.getAccountBalance();
      return(balance);
   }
 }

  結(jié)束語

  在本文里,我們通過帶你嘗試了一個簡單的無狀態(tài)會話EJB實現(xiàn)的細(xì)節(jié),,盡力減輕了你可能有的對創(chuàng)建自己第一個EJB的恐懼感,。在下一篇文章里,我們將探討實體bean的細(xì)節(jié),,以及它們?nèi)绾伪挥脕矸庋b數(shù)據(jù)實體,,即商業(yè)對象訪問的內(nèi)容。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多