国产探花免费观看_亚洲丰满少妇自慰呻吟_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://m.survivalescaperooms.com)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 龙门县| 尖扎县| 开阳县| 张家界市| 建平县| 手游| 鹤壁市| 阿勒泰市| 海阳市| 绵阳市| 罗平县| 威信县| 泰和县| 武隆县| 衡阳市| 蓬莱市| 红河县| 肃宁县| 宝兴县| 长汀县| 东光县| 凭祥市| 东丰县| 保康县| 米林县| 青河县| 承德县| 普兰县| 绿春县| 尉氏县| 资兴市| 顺平县| 碌曲县| 海晏县| 哈尔滨市| 敖汉旗| 丰城市| 左权县| 锡林郭勒盟| 尼玛县| 阜康市|