新手寶典J2EE專家起步圖解
很多人都知道J2EE,但有多少人真正知道它的含義呢?簡單的說,J2EE是一套商業應用系統模型或者說是一種規范,它包含java遠程方法調用(RMI)、企業級javaBean(EJB)、java消息服務(JMS),java服務器頁面(JSP)等等。利用J2EE的資源我們可以方便、迅速的創建一個強大的企業級應用,比如電信的收費系統,企業的知識管理系統等。你可能會想,開發這么強大的系統,一定需要大量的投資吧?其實不然,我們利用現有的網絡找就可以找到免費甚至是開源的部件,再將他們組裝成一個可用的系統。我們的目標是白手起家!當然買電腦的錢你得自己掏:
本文以下列組件為例來構建我們的J2EE系統。請大家注意各組件的版本號,否則可能出現組件間的兼容問題:底層數據庫用mySQL3.23.35,EJB和Web服務器用Jboss3.2.3,而開發環境我們選用最近很流行的eclipse2.1+lomboz2.1.3。
下面我們就來一步一步配置好開發J2EE所需的各部分組件,并且實際創建一個實體EJB調用底層數據庫中的內容,并用一個JSP頁面將其顯示出來
一、 安裝與配置
1. 首先我們需要的是SUN的JDK,去SUN的網站(http://java.sun.com/)上看看,找到最新的JDK,把它下載回來。然后將其釋放到到一個方便的目錄里,比如說D:worktoolsjdk1.4。右健單擊"我的電腦"選擇"高級"->"環境變量"如圖一所示:
環境變量分為兩個部分:上面是用戶變量區;下面是系統變量區。在用戶變量區中,我們新建一個名為JAVA_HOME的變量,它的值指向剛才生成的JDK的目錄,比如D:worktoolsjdk1.4,下文我們用%JAVA_HOME代指。新建建一個CLASSPATH值為%JAVA_HOMELIB;%JAVA_HOMETOOLS.JAR;在系統變量區中,我們對PATH這個環境變量進行修改,添加一個值%JAVA_HOMEin,中間";"隔開。ok,一路確定下來,至此我們便搞定了一切JAVA開發的基礎----JDK的設置。(本文以WINXP為例,若使用WIN9X系統則設置需要重啟一下計算機)
2. 幾乎所有的企業級應用都需要數據的存儲系統,我們也將使用一個大名鼎鼎的開源數據庫:mySQL。.本文使用的版本是mySQL3.23.35,大家可以到mySQL的網站(http://www.mysql.com)去下載。
安裝mySQL非常簡單,解開下載下來的壓縮包,運"SETUP.EXE",一路"Next"便可搞定,建議將其安裝在C:MYSQL中。安裝完畢后,在MYSQLBIN中有一個名為"WINMYSQLADMIN.EXE"的程序。運行這個程序,輸入你的用戶名和密碼(自己設定)后,MYSQL就已經可以用了。現在你可以同過它的默認用戶名"ROOT"密碼為空來操縱數據庫。
3. 對數據庫的操作一般有兩種方式,一種是控制臺;另一種是圖形化操作。簡單起見,我們選用后一種方式。而選擇的軟件是mySQL-Control-Center0.9.4,它也是mysqlGroup出品的,最大的優點就是免費!我們在mysql的網站上下載安裝mysql-cc后,會在桌面上生成一個快捷方式。我們由此進入mysql-cc,用戶名"ROOT"密碼為空,默認的端口號為"3306",主機名添入"localhost"。確定后,右健選擇連接。現在我們就可以操縱自己的mysql數據庫了。
使用EJB的目的就是要以一種對象的方式操縱底層的數據,所以我們要先建立自己的底層數據。如圖三所示,右健單擊MYSQL-CC左側的“databases”,選擇"new",起名為“mytest”。
在新建的數據庫基礎上,我們在建立一個數據表。如圖四所示,新增兩個字段"id"、"context",類型均為"varchar",保存的時候起名為"myejb"。
打開剛才建好的數據表中添加幾個數據,"id"依次為1,2,3;"context"與"id"為應為"time","blank","talk"。
4.是我們的應用服務器JBoss出場的時候了。從JBoss的sourceForge的子項目(http://sourceforge.net/projects/jboss/)下載Jboss3.2.3。把它解壓到某個文件夾下,比如D:worktoolsJboss3.2.3。將其中的docsexamplesjca下的mysql_ds.xml拷貝到serverdefaultdeploy中,用記事本打開進行編輯。有幾項修改如圖五所示:
保存以后,將其重命名為"mytest-ds.xml",這就是我們編寫EJB時要用到的數據源。
由Jboss連接我們的mySQL數據庫,需要用到mySQL的JAVA驅動程序。我們還是得從mySQL的主頁上下載mysql-connector-java-3.0.11-stable。解壓這個壓縮文件包,從中提取mysql-connector-java-3.0.11-stable-bin.jar,將其放入Jboss目錄下的serverdefaultlib目錄中,并把這個文件重命名為mySQL.jar。
5.至此,我們就可以進行實際的開發了。可能你會問,那用什么來編輯我們的程序呢,難到用Windows自帶的記事本嗎?當然可以!但是各種繁瑣、重復的操作很不利于我們新手的成長。我們需要的是一個集成開發工具(IED)來幫助自己處理一些低級的操作,迅速編寫出一個可用的系統,提高我們學習J2EE的信心。等到對J2EE了解的更深入了解以后,我們回過頭來再用一個文本編輯工具編寫每個所需的文件,然后編譯、部署,可以迅速提高自己的水平。
這里我向大家推薦一款優秀的開發工具,就是前面提到過的Eclipse。其實它本身可以想象成一個很友好的框架,通過向其中安裝各種兼容的插件,來達到我們各式各樣的開發需求。你要知道,它的后臺可是IBM阿,但對于我們更重要的是它完全免費,我們甚至可以開發自己的插件!
從Eclipse主頁(http://www.eclipse.org)下載Eclipse2.1,然后到www.objectlearn.org下載Lomboz2.1.3,這是開發J2EE過程中的一個強大的Eclipse插件。首先解壓Eclipse和Lomboz,再把由Lomboz壓縮包生成的com.objectlearn.jdt.j2ee和com.objectlearn.jdt.j2ee.editors這兩個文件夾拷貝到Eclipse主目錄下plugins文件夾中。運行Eclipse,選擇"Windos"->"customizeperspective..."。如圖六所示:
展開所有節點,選中所有有關lomboz的選項,然后點擊"ok"。(圖六)選擇"Window"->"preference"。單擊lomboz,在JDKTolls .jar中選擇你的jdk目錄下的libools.jar,點擊Apply。因為我們的應用服務器選擇的是支持熱部署的JBoss,所以確保RestartServerAfterDepoly選項沒有被選中。如圖七所示,在左邊展開lomboz這個選項,選中ServerDefinition.在Servertypes中我們選擇JBoss3.2.x。而ApplicationServerDirectoty和ClasspathVariable中同樣的選擇JBoss的主目錄,并點擊Apply。
還是在"Window"->"preference",展開java類,選擇NewProject在Sourceandoutputfolder中我們將其改成folders,如圖八所示。
點擊apply,最后點擊ok。
呼呼~長出一口氣吧,至此我們已經把開發J2EE系統所需的所有軟件都安裝配置好了。喝杯茶,馬上開發我們的第一個EJB!
二、 開發第一個EJB
EJB2.0規范中定義了3種企業Bean。分別為會話Bean(Session Bean)、實體Bean(Entity Bean)和消息驅動Bean(Message Driven Bean)。會話Bean模擬一個商務過程;實體Bean模擬商務數據;而消息驅動Bean與會話Bean類似也是在模擬一個商務過程,但消息驅動Bean只接受消息的調用。
本文著重介紹如何快速開發一個實體Bean。因為會話Bean相對簡單,在理解了實體Bean后,自己很容易就能編寫出來。而消息驅動Bean在用到的時候學也不遲。
1. Eclipse中,運行"file"-> "new"-> "project"選擇Lomboz J2EE Project。在project name中填入我們的工程名"EJBTest"。點擊next后,會出現java setting的對話框,我們不做任何修改,直接next。在這一步,我們將建立一個EJB的模塊。如圖九所示,在ejb Module選項卡中,我們新建一個名為myEJB的EJB Module。
然后在Targent Server中,選擇我們剛剛配置好的Jboss3.2.x。add以后再選擇finish,我們工程就建立好了。
2. 現在用Lomboz的向導來生成我們EJB,選擇"file"-> "new"->"Lomboz EJB Creation Wizard"。如圖十所示:
在package 中填入包名,比如"Rip.ejb.cmp";在name中,我們給這個EJB起個名字,比如"mytest"。Select EJB Type選項里,選擇"Container Managed Entity EJB",表明要創建一個由容器管理的實體EJB。如圖十一所示
這一步中我們要聲明數據表名稱,數據源名稱,以及表中各個字段。參照圖十二:
將各項內容填入相應的地方。注意,每添加一個字段都要點擊add一次,將其放入下方的已加入的字段列表中。最后選中id這一字段,點擊Make Primary Key,將其標記為主健。其中,table name項對應著我們先前在mySQL中建立的數據表myejb;datasource對應著我們在jBoss中設定的數據源mytest-ds.xml。
點擊finish后,就可以在左側src目錄下Rip.ejb.cmp包中找到并打開我們剛剛生成的mytestBean.java(mytest后的Bean是Lomboz自動添加的)文件。找到ejbCreate()方法,添加兩個字符串型的輸入變量"id"和"context,并添加兩個方法setId(id)和setContext(context),具體實現如圖十三:
如果更改過程中出現載入包或者捕捉異常的錯誤,單擊錯誤符號,選擇載入或直接拋出異常即可。
這個新建立的EJB需要被放入一個模塊中才可以被裝載、執行。如圖十四所示:
右健點擊mytestBean.java,選擇lombozJ2EE...->AddEJBtoModule,再在剛才建立的myEJB這個模塊前打勾,點擊ok后,便實現了裝載。一個完整的實體EJB是由多個不同功用的文件組合起來的,但這里它們由加了標簽的mytestBean.java自動生成。所使用的是XDoclet技術,感興趣的讀者可以到網上去搜索一下,有很多的相關介紹,我們就不再介紹具體細節了。如圖十五所示:右健點擊myEJB這個模塊,選擇lombozJ2EE...->GenerateEJBClasses。
顯示成功之后,在ejbsrc目錄下的Rip.ejb.cmp包中,你就可以看到mytestHome.java等六個文件。在mytest這個模塊下面的META-INF文件夾中,有許多xml文件。其中,jboss.xml、jbosscmp-jdbc.xml和ejb-jar.xml是部署EJB最關鍵的三個配置文件。而我們現階段需要更改的只是jbosscmp-dbc.xml這個文件,它描述了對數據源的描述,其他的文件都已經由lomboz配置好了。我們將這個文件的相關部分修改為:
其他部分不做改變。至此,我們完成了所有的EJB開發工作。右健點擊myEJB這個模塊,選擇lombozJ2EE...->DeployModule將這個模塊裝載到服務器中。然后,選擇lombozJ2EE...->DebugServer運行服務器。萬事俱備,只欠調用!
三、 EJB的調用-使用JSP顯示數據
現在我們將使用JSP作為業務層和表示層來調用EJB,將一些數據存儲到數據庫中,并把數據庫里已有的數據全部打印到客戶端的瀏覽器上。
1. 如上文介紹過的,我們再建立一個名為"myEJB"的Web模塊。targetServer還是選擇我們配置好的Jboss3.2.x,確定后將生成一個myWeb的目錄。
2. 打開myWeb的目錄,將以下的代碼替換掉index.jsp的原有代碼。
3. 右健點擊myWEB這個模塊,選擇lombozJ2EE...->DeployModule將這個WEB模塊裝載到服務器中。
4. 打開瀏覽器,在地址欄中輸入"http://localhost:8080/myWEB/index.jsp"。如果一切順利的話,將可以看到如同圖十六的頁面輸出。
至此,我們就結束了這次對J2EE的入門學習。
四、 結束語
全文來看,真正在EJB開發上面花的功夫比較少,僅僅幾行代碼而已,所以EJB很適合應用系統的快速開發。可是,EJB從誕生以來就是一項重量級的應用,尤其是使用遠程調用(為了說明問題,本文使用的就是這種方法),大量的使用了系統的資源。所以在一般情況下,使用本地接口可以大大的減少對資源的使用。或者,你還可以使用其他O-R映射組件,比如說Hibernate等等。
由于篇幅有限,筆者不可能將所有可能出現的錯誤和解決辦法一一列舉出來,如有任何意見或問題,請發送email到我的郵箱kknd0669@sina.com。
本文以下列組件為例來構建我們的J2EE系統。請大家注意各組件的版本號,否則可能出現組件間的兼容問題:底層數據庫用mySQL3.23.35,EJB和Web服務器用Jboss3.2.3,而開發環境我們選用最近很流行的eclipse2.1+lomboz2.1.3。
下面我們就來一步一步配置好開發J2EE所需的各部分組件,并且實際創建一個實體EJB調用底層數據庫中的內容,并用一個JSP頁面將其顯示出來
一、 安裝與配置
1. 首先我們需要的是SUN的JDK,去SUN的網站(http://java.sun.com/)上看看,找到最新的JDK,把它下載回來。然后將其釋放到到一個方便的目錄里,比如說D:worktoolsjdk1.4。右健單擊"我的電腦"選擇"高級"->"環境變量"如圖一所示:
![]() (圖一) |
環境變量分為兩個部分:上面是用戶變量區;下面是系統變量區。在用戶變量區中,我們新建一個名為JAVA_HOME的變量,它的值指向剛才生成的JDK的目錄,比如D:worktoolsjdk1.4,下文我們用%JAVA_HOME代指。新建建一個CLASSPATH值為%JAVA_HOMELIB;%JAVA_HOMETOOLS.JAR;在系統變量區中,我們對PATH這個環境變量進行修改,添加一個值%JAVA_HOMEin,中間";"隔開。ok,一路確定下來,至此我們便搞定了一切JAVA開發的基礎----JDK的設置。(本文以WINXP為例,若使用WIN9X系統則設置需要重啟一下計算機)
2. 幾乎所有的企業級應用都需要數據的存儲系統,我們也將使用一個大名鼎鼎的開源數據庫:mySQL。.本文使用的版本是mySQL3.23.35,大家可以到mySQL的網站(http://www.mysql.com)去下載。
安裝mySQL非常簡單,解開下載下來的壓縮包,運"SETUP.EXE",一路"Next"便可搞定,建議將其安裝在C:MYSQL中。安裝完畢后,在MYSQLBIN中有一個名為"WINMYSQLADMIN.EXE"的程序。運行這個程序,輸入你的用戶名和密碼(自己設定)后,MYSQL就已經可以用了。現在你可以同過它的默認用戶名"ROOT"密碼為空來操縱數據庫。
3. 對數據庫的操作一般有兩種方式,一種是控制臺;另一種是圖形化操作。簡單起見,我們選用后一種方式。而選擇的軟件是mySQL-Control-Center0.9.4,它也是mysqlGroup出品的,最大的優點就是免費!我們在mysql的網站上下載安裝mysql-cc后,會在桌面上生成一個快捷方式。我們由此進入mysql-cc,用戶名"ROOT"密碼為空,默認的端口號為"3306",主機名添入"localhost"。確定后,右健選擇連接。現在我們就可以操縱自己的mysql數據庫了。
![]() (圖二)點擊防大 |
使用EJB的目的就是要以一種對象的方式操縱底層的數據,所以我們要先建立自己的底層數據。如圖三所示,右健單擊MYSQL-CC左側的“databases”,選擇"new",起名為“mytest”。
![]() (圖三) |
在新建的數據庫基礎上,我們在建立一個數據表。如圖四所示,新增兩個字段"id"、"context",類型均為"varchar",保存的時候起名為"myejb"。
![]() (圖四) |
打開剛才建好的數據表中添加幾個數據,"id"依次為1,2,3;"context"與"id"為應為"time","blank","talk"。
4.是我們的應用服務器JBoss出場的時候了。從JBoss的sourceForge的子項目(http://sourceforge.net/projects/jboss/)下載Jboss3.2.3。把它解壓到某個文件夾下,比如D:worktoolsJboss3.2.3。將其中的docsexamplesjca下的mysql_ds.xml拷貝到serverdefaultdeploy中,用記事本打開進行編輯。有幾項修改如圖五所示:
![]() (圖五) |
保存以后,將其重命名為"mytest-ds.xml",這就是我們編寫EJB時要用到的數據源。
由Jboss連接我們的mySQL數據庫,需要用到mySQL的JAVA驅動程序。我們還是得從mySQL的主頁上下載mysql-connector-java-3.0.11-stable。解壓這個壓縮文件包,從中提取mysql-connector-java-3.0.11-stable-bin.jar,將其放入Jboss目錄下的serverdefaultlib目錄中,并把這個文件重命名為mySQL.jar。
5.至此,我們就可以進行實際的開發了。可能你會問,那用什么來編輯我們的程序呢,難到用Windows自帶的記事本嗎?當然可以!但是各種繁瑣、重復的操作很不利于我們新手的成長。我們需要的是一個集成開發工具(IED)來幫助自己處理一些低級的操作,迅速編寫出一個可用的系統,提高我們學習J2EE的信心。等到對J2EE了解的更深入了解以后,我們回過頭來再用一個文本編輯工具編寫每個所需的文件,然后編譯、部署,可以迅速提高自己的水平。
這里我向大家推薦一款優秀的開發工具,就是前面提到過的Eclipse。其實它本身可以想象成一個很友好的框架,通過向其中安裝各種兼容的插件,來達到我們各式各樣的開發需求。你要知道,它的后臺可是IBM阿,但對于我們更重要的是它完全免費,我們甚至可以開發自己的插件!
從Eclipse主頁(http://www.eclipse.org)下載Eclipse2.1,然后到www.objectlearn.org下載Lomboz2.1.3,這是開發J2EE過程中的一個強大的Eclipse插件。首先解壓Eclipse和Lomboz,再把由Lomboz壓縮包生成的com.objectlearn.jdt.j2ee和com.objectlearn.jdt.j2ee.editors這兩個文件夾拷貝到Eclipse主目錄下plugins文件夾中。運行Eclipse,選擇"Windos"->"customizeperspective..."。如圖六所示:
![]() 點擊防大 |
展開所有節點,選中所有有關lomboz的選項,然后點擊"ok"。(圖六)選擇"Window"->"preference"。單擊lomboz,在JDKTolls .jar中選擇你的jdk目錄下的libools.jar,點擊Apply。因為我們的應用服務器選擇的是支持熱部署的JBoss,所以確保RestartServerAfterDepoly選項沒有被選中。如圖七所示,在左邊展開lomboz這個選項,選中ServerDefinition.在Servertypes中我們選擇JBoss3.2.x。而ApplicationServerDirectoty和ClasspathVariable中同樣的選擇JBoss的主目錄,并點擊Apply。
![]() (圖七)點擊放大 |
還是在"Window"->"preference",展開java類,選擇NewProject在Sourceandoutputfolder中我們將其改成folders,如圖八所示。
![]() (圖八) |
點擊apply,最后點擊ok。
呼呼~長出一口氣吧,至此我們已經把開發J2EE系統所需的所有軟件都安裝配置好了。喝杯茶,馬上開發我們的第一個EJB!
二、 開發第一個EJB
EJB2.0規范中定義了3種企業Bean。分別為會話Bean(Session Bean)、實體Bean(Entity Bean)和消息驅動Bean(Message Driven Bean)。會話Bean模擬一個商務過程;實體Bean模擬商務數據;而消息驅動Bean與會話Bean類似也是在模擬一個商務過程,但消息驅動Bean只接受消息的調用。
本文著重介紹如何快速開發一個實體Bean。因為會話Bean相對簡單,在理解了實體Bean后,自己很容易就能編寫出來。而消息驅動Bean在用到的時候學也不遲。
1. Eclipse中,運行"file"-> "new"-> "project"選擇Lomboz J2EE Project。在project name中填入我們的工程名"EJBTest"。點擊next后,會出現java setting的對話框,我們不做任何修改,直接next。在這一步,我們將建立一個EJB的模塊。如圖九所示,在ejb Module選項卡中,我們新建一個名為myEJB的EJB Module。
![]() (圖九) |
然后在Targent Server中,選擇我們剛剛配置好的Jboss3.2.x。add以后再選擇finish,我們工程就建立好了。
2. 現在用Lomboz的向導來生成我們EJB,選擇"file"-> "new"->"Lomboz EJB Creation Wizard"。如圖十所示:
![]() (圖十) |
在package 中填入包名,比如"Rip.ejb.cmp";在name中,我們給這個EJB起個名字,比如"mytest"。Select EJB Type選項里,選擇"Container Managed Entity EJB",表明要創建一個由容器管理的實體EJB。如圖十一所示
![]() (圖十一) |
這一步中我們要聲明數據表名稱,數據源名稱,以及表中各個字段。參照圖十二:
![]() |
將各項內容填入相應的地方。注意,每添加一個字段都要點擊add一次,將其放入下方的已加入的字段列表中。最后選中id這一字段,點擊Make Primary Key,將其標記為主健。其中,table name項對應著我們先前在mySQL中建立的數據表myejb;datasource對應著我們在jBoss中設定的數據源mytest-ds.xml。
點擊finish后,就可以在左側src目錄下Rip.ejb.cmp包中找到并打開我們剛剛生成的mytestBean.java(mytest后的Bean是Lomboz自動添加的)文件。找到ejbCreate()方法,添加兩個字符串型的輸入變量"id"和"context,并添加兩個方法setId(id)和setContext(context),具體實現如圖十三:
![]() (圖十三)點擊放大 |
如果更改過程中出現載入包或者捕捉異常的錯誤,單擊錯誤符號,選擇載入或直接拋出異常即可。
這個新建立的EJB需要被放入一個模塊中才可以被裝載、執行。如圖十四所示:
![]() (圖十四)點擊放大 |
右健點擊mytestBean.java,選擇lombozJ2EE...->AddEJBtoModule,再在剛才建立的myEJB這個模塊前打勾,點擊ok后,便實現了裝載。一個完整的實體EJB是由多個不同功用的文件組合起來的,但這里它們由加了標簽的mytestBean.java自動生成。所使用的是XDoclet技術,感興趣的讀者可以到網上去搜索一下,有很多的相關介紹,我們就不再介紹具體細節了。如圖十五所示:右健點擊myEJB這個模塊,選擇lombozJ2EE...->GenerateEJBClasses。
![]() (圖十五)點擊放大 |
顯示成功之后,在ejbsrc目錄下的Rip.ejb.cmp包中,你就可以看到mytestHome.java等六個文件。在mytest這個模塊下面的META-INF文件夾中,有許多xml文件。其中,jboss.xml、jbosscmp-jdbc.xml和ejb-jar.xml是部署EJB最關鍵的三個配置文件。而我們現階段需要更改的只是jbosscmp-dbc.xml這個文件,它描述了對數據源的描述,其他的文件都已經由lomboz配置好了。我們將這個文件的相關部分修改為:
| <jbosscmp-jdbc> <enterprise-beans> <defaults> <datasource>java:/mytestDS</datasource> <datasource-mapping>mySQL</datasource-mapping> <preferred-relation-mapping>foreign-key</preferred-relation-mapping> </defaults> <enterprise-beans> |
其他部分不做改變。至此,我們完成了所有的EJB開發工作。右健點擊myEJB這個模塊,選擇lombozJ2EE...->DeployModule將這個模塊裝載到服務器中。然后,選擇lombozJ2EE...->DebugServer運行服務器。萬事俱備,只欠調用!
三、 EJB的調用-使用JSP顯示數據
現在我們將使用JSP作為業務層和表示層來調用EJB,將一些數據存儲到數據庫中,并把數據庫里已有的數據全部打印到客戶端的瀏覽器上。
1. 如上文介紹過的,我們再建立一個名為"myEJB"的Web模塊。targetServer還是選擇我們配置好的Jboss3.2.x,確定后將生成一個myWeb的目錄。
2. 打開myWeb的目錄,將以下的代碼替換掉index.jsp的原有代碼。
| <%@ page import="javax.ejb.*"%> <%@ page import="javax.naming.*"%> <%@ page import="javax.ejb.*"%> <%@ page import="Rip.ejb.cmp.*"%> <%@ page import="java.util.*"%> <%@ page import="java.rmi.RemoteException"%> <html> <head> <title>Welcome Every body,This is my firstEJB for qiqi</title> </head> <body> <center><% /*初始化系統的上下文,并查找jidi名為mytestBean的實體Bean*/ InitialContext Context = new InitialContext(System.getProperties()); mytestHome Home = (mytestHome) Context.lookup("mytestBean"); try { /*調用EJB的Create()方法在在數據庫中生成數據,如果你不需要調用EJB時在底層數據庫中產生數據,則不需要調用Create()方法*/ mytest myBean = Home.create("18","Hello,I am Rip"); /*根據前面的定義,findAll()方法將返回myejb表中的所有數據;如果你想使用不同的find方法,比如要返回id<5的數據,你可以編寫自己的finder方法。*/ Collection col = Home.findAll(); String outString = ""; /*使用循環的方式遍歷所有的數據,并把它們打印出來*/ Iterator it = col.iterator(); while(it.hasNext()){ mytest element =(mytest)it.next(); outString = element.getId()+":"+element.getContext()+"<br>"; out.println(outString); } /*捕捉并拋出給中異常*/ } catch (RemoteException e) { e.printStackTrace(); } catch (CreateException e) { e.printStackTrace(); } catch (FinderException e){ e.printStackTrace(); } %></center> </body> </html> |
3. 右健點擊myWEB這個模塊,選擇lombozJ2EE...->DeployModule將這個WEB模塊裝載到服務器中。
4. 打開瀏覽器,在地址欄中輸入"http://localhost:8080/myWEB/index.jsp"。如果一切順利的話,將可以看到如同圖十六的頁面輸出。
![]() (圖十六)點擊放大 |
至此,我們就結束了這次對J2EE的入門學習。
四、 結束語
全文來看,真正在EJB開發上面花的功夫比較少,僅僅幾行代碼而已,所以EJB很適合應用系統的快速開發。可是,EJB從誕生以來就是一項重量級的應用,尤其是使用遠程調用(為了說明問題,本文使用的就是這種方法),大量的使用了系統的資源。所以在一般情況下,使用本地接口可以大大的減少對資源的使用。或者,你還可以使用其他O-R映射組件,比如說Hibernate等等。
由于篇幅有限,筆者不可能將所有可能出現的錯誤和解決辦法一一列舉出來,如有任何意見或問題,請發送email到我的郵箱kknd0669@sina.com。















