5.部署
部署是將J2EE組件(EJB,JSP,Servlet等)正確安裝并配置到J2EE服務器中,然后,客戶端程序才能夠訪問它。EJB運行在EJB容器中,因此,必須把我們編寫的Bean部署到服務器上。
首先,確保J2EE服務器正在運行,請參考第3步:啟動和停止J2EE服務器。
然后,再打開一個新的命令行窗口,輸入:
deploytool
稍等片刻,出現部署窗口:

首先,我們需要新建一個服務器端應用程序:
選擇File > New > Application…:
輸入希望存放ear文件的完整路徑和應用程序的名稱,當然,這里我們的這個C:\helloapp\ear文件并不存在,部署工具稍后會創建它。
現在,Deployment Tool已經創建了一個hello的Application,但是還沒有任何可以部署的組件:
下一步,我們將要添加前面我們編寫的第一個EJB:
選擇File > New > Enterprise Bean…,然后,按照向導開始部署EJB:
在Contents欄中,需要添加所有必須的class文件,點擊“Edit…”,添加我們編譯好的3個class文件:
然后,向導提示選擇EJB類型。EJB 2共有3種Bean:Session Bean,Entity Bean和Message-Driven Bean,我們編寫的是Session Bean,并且選擇Stateless,表示該Session Bean是無狀態會話Bean,所有客戶端都可以共享一個Bean。如果選擇Stateful,則每個客戶端會擁有不同的Bean,類似于web應用程序的session機制。
在下面的下拉列表框中,選擇對應的class。注意我們沒有編寫Local Home和Local Interface,因此讓它們保持為空。然后輸入Enterprise Bean Name:HelloBean。
剩下的可以直接使用默認值,一路Next即可。完成后,可以看到,主窗口多了一個Ejb1,選中它,我們還需要在JNDI Names一欄填入ejb/Hello,客戶端將根據JNDI Name來查找我們編寫的Bean:
選擇File > Save,保存我們創建的Application。接下來,我們將把這個Application部署到服務器上。
選擇Tools > Deploy,出現Deploy向導:
對話框提示我們將要部署的應用程序是hello,目標服務器是localhost,然后,一定要選中Return Client Jar,因為要從客戶端訪問部署在J2EE SDK服務器上的應用,必須要有這個Jar包。如果使用其他服務器,也需要相應的Jar包,如JBoss客戶端需要jbossall-client.jar。這里,我們選擇好存放Client Jar的目錄,然后Next即可。
最后,J2EE服務器開始編譯并部署我們的Hello Bean,可以看到兩個進度條:
當進度條填滿時,表示部署成功!可以在j2ee服務器的控制臺窗口上看到如下輸出:
Compiling C:\j2sdkee1.3.1\repository\cn1d6xuc\gnrtrTMP\hello\HelloBean_RemoteHom
eImpl.java ....
Compiling C:\j2sdkee1.3.1\repository\cn1d6xuc\gnrtrTMP\hello\HelloBean_EJBObject
Impl.java ....
rmic HelloBean_RemoteHomeImpl...
rmic HelloBean_EJBObjectImpl...
Application hello deployed.
整個部署是在窗口模式下進行的,好處是不用編寫繁瑣的xml配置文件。在實際的開發過程中,如果每當修改代碼都這樣部署一遍是非常低效的,因此應當使用ant實現自動編譯、部署并測試。
待續...
posted on 2005-09-22 19:45
瘦猴 閱讀(290)
評論(0) 編輯 收藏