<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 36,comments - 31,trackbacks - 0

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

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

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

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

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

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

       編寫一個(gè)簡(jiǎn)單會(huì)話EJB

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

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

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

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

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

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

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

      無狀態(tài)會(huì)話EJB不會(huì)為每個(gè)單獨(dú)的客戶端都維持一個(gè)對(duì)話狀態(tài)。對(duì)無狀態(tài)會(huì)話EJB的每次調(diào)用,都應(yīng)該被當(dāng)作是對(duì)一個(gè)全新的對(duì)象實(shí)例的請(qǐng)求。因?yàn)槿魏螌?shí)例-變量狀態(tài)都會(huì)在調(diào)用之間丟失。

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

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

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

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

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

      package com.jeffhanson.ejb;

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

      第二個(gè)強(qiáng)制類/接口是Home接口。Home接口被EJB客戶端用來獲取對(duì)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;
      }

      第三個(gè)強(qiáng)制類/接口是Enterprise Bean類。Enterprise Bean類為Component接口和Home接口提供實(shí)現(xiàn)。用于會(huì)話EJBEnterprise Bean類必須要實(shí)現(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é)束語

      在本文里,我們通過帶你嘗試了一個(gè)簡(jiǎn)單的無狀態(tài)會(huì)話EJB實(shí)現(xiàn)的細(xì)節(jié),盡力減輕了你可能有的對(duì)創(chuàng)建自己第一個(gè)EJB的恐懼感。
    posted on 2006-07-27 23:35 心隨我動(dòng) 閱讀(254) 評(píng)論(0)  編輯  收藏 所屬分類: EJB

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    網(wǎng)站流量統(tǒng)計(jì):
    澳大利亞 ABC 在線英語廣播電臺(tái)
    主站蜘蛛池模板: 性xxxx视频播放免费| 中文字幕亚洲无线码| 美女视频黄视大全视频免费的| 亚洲最大中文字幕无码网站| 免费国产午夜高清在线视频| 亚洲大香伊人蕉在人依线| 真实乱视频国产免费观看| 国产精品福利在线观看免费不卡 | 在线播放免费播放av片| 国产高潮久久免费观看| 亚洲精品午夜视频| 免费国产黄网站在线观看| 亚洲产国偷V产偷V自拍色戒| 中文字幕乱码免费视频| 一级特黄a免费大片| 亚洲国产精品美女| 亚洲国产主播精品极品网红| 免费专区丝袜脚调教视频| 亚洲综合综合在线| www亚洲精品少妇裸乳一区二区| 国产青草亚洲香蕉精品久久| 四虎影视免费永久在线观看| 免费国产午夜高清在线视频| 看免费毛片天天看| 亚洲六月丁香六月婷婷色伊人| 亚洲免费观看在线视频| 一级一片免费视频播放| 亚洲国产成人91精品| 久久夜色精品国产亚洲| 日本媚薬痉挛在线观看免费| 国产成人亚洲综合a∨| 亚洲黄色免费电影| 1000部拍拍拍18免费网站| jizz在线免费观看| 亚洲aⅴ天堂av天堂无码麻豆| 亚洲日韩区在线电影| www.黄色免费网站| 久久久久久免费一区二区三区| 日韩一级片免费观看| 亚洲精品精华液一区二区| 亚洲人成网站色在线入口|