国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

J2EE入門教程之二

2019-11-18 16:11:01
字體:
來源:轉載
供稿:網友

EJB是J2EE中最重要的技術之一,它是支持分布式事務的分布式組件,我們以Hello World為例,編寫第一個名為Hello的最簡單的session Bean。

根據EJB2.1規范,編寫一個Session Bean需要以下幾個類和接口:

遠程接口Hello,客戶端使用這個接口來訪問EJB:

// Hello.java

// 遠程接口:EJBObject

import javax.ejb.*;
import java.rmi.*;

public interface Hello extends EJBObject {
    // 業務方法,必須拋出RemoteException:
    public String say() throws RemoteException;
}

Home接口HelloHome,客戶端使用這個接口來創建EJB并在稍后調用其業務方法:

// HelloHome.java

// Home接口,負責創建EJB:

import java.io.*;
import java.rmi.*;
import javax.ejb.*;

public interface HelloHome extends EJBHome {
    // create方法需要拋出RemoteException和CreateException:
    Hello create() throws RemoteException, CreateException;
}

實現業務邏輯的類HelloBean,客戶端永遠無法直接訪問它,只能通過遠程接口來間接訪問它,HelloBean只有一個業務方法:

// HelloBean.java

// 實現真正業務方法的Bean,由容器管理,
// 客戶端通過遠程接口間接訪問它:

import java.rmi.*;
import javax.ejb.*;

public class HelloBean implements SessionBean {
    PRivate SessionContext ctx;
    public String say() {
        return "Hello, world.";
    }
    public void setSessionContext(SessionContext ctx) {
        this.ctx = ctx;
    }
    public void ejbCreate() {}
    public void ejbRemove() {}
    public void ejbActivate() {}
    public void ejbPassivate() {}
}

從上面可以看到,為了編寫一個Bean,需要額外的兩個接口支持,并且,由于HelloBean不實現Hello接口,這些方法申明和實現如果不一致,只有在部署時才能發現問題。某些工具(如XDoclet)可以根據特定的注釋自動生成Remote和Home接口。在EJB 3.0規范中,開發者就只需要編寫Bean,剩下的Remote和Home接口都由工具根據EJB 3的注釋自動生成,因此大大簡化了開發。

為了提高EJB的調用速度,如果客戶端和EJB容器位于同一個JVM內(例如運行在同一個JVM中的jsp和EJB),還可以使用本地接口,但是這兩個接口不是必需的,因此我們不去實現它。

現在我們一共有3個文件:Hello.java,HelloHome.java,HelloBean.java,放在C:/example目錄下,然后開始編譯:

C:/example>javac *.java

在當前目錄下可以找到編譯后的Hello.class,HelloHome.class和HelloBean.class三個文件。

下載源碼:點擊下載

(出處:http://www.survivalescaperooms.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广昌县| 南川市| 北碚区| 明光市| 桐乡市| 玉屏| 江津市| 巴塘县| 宝坻区| 清河县| 黄浦区| 南木林县| 新源县| 平遥县| 通许县| 崇阳县| 邢台县| 南江县| 伊川县| 陕西省| 娄烦县| 台安县| 武鸣县| 山东| 黄山市| 桐城市| 从化市| 隆林| 常熟市| 开鲁县| 莫力| 平利县| 日土县| 湛江市| 鞍山市| 广水市| 长沙县| 项城市| 霍林郭勒市| 天门市| 铁岭市|