多圖詳解 Java EE 6的EJB模型案例
原創(chuàng)【51CTO獨(dú)家編譯】本文將介紹EJB模型在Java EE 6新的WebService的應(yīng)用。Java EE 6最重要的一個(gè)新功能便是更好的使用EJB模型。EJB模型規(guī)定把企業(yè)bean組件一定要裝在EJB-jar文件模塊中。而Java EE Web應(yīng)用程序通常使用的企業(yè)Bean,這些組件的必要條件必須是能承受很多負(fù)載。
了解更多的Java EE 6特性敬請關(guān)注51CTO專題:Java EE 6平臺指南。
因?yàn)镋JB 3.1的企業(yè)bean類計(jì)算繁重的問題在EJB-jar文件打包受到限制,所以必須解決這種打包受到復(fù)雜的限制。于是你只能把EJB模型放在WEB-INF/classes目錄下,或者把EJB模型文件壓縮成jar文件放在WEB-INF/lib目錄下,這樣,你才能你直接把EJB放在文件里,使用相同的適用于Web應(yīng)用程序類組件規(guī)則。同時(shí)EJB模型的部署描述符也是可選的,如果你需要它,你可以把EJB部署描述符打包成一個(gè)WEB-INF/EJB-jar.xml文件。
因此,我們把上述想法EJB在webservices上表現(xiàn)出來。下文就來講講如何簡單地使用NetBeans 6.9和Glassfish 3.0.1通過創(chuàng)建和部署EJB模型。
首先,讓我們使用NetBeans 6.9創(chuàng)建一個(gè)Webservice。
NetBeans 6.9創(chuàng)建一個(gè)Webservice
接下來,我們指定項(xiàng)目位置。
指定項(xiàng)目位置
選擇GlassFish 3.0.1與NetBeans 6.9是捆綁在一起的服務(wù)器。注意:我使用JavaEE 6的版本。
選擇GlassFish 3.0.1與NetBeans 6.9
#p#
現(xiàn)在我們創(chuàng)建一個(gè)WebService的項(xiàng)目叫:Weather,目標(biāo)項(xiàng)將顯示為溫度。
創(chuàng)建一個(gè)WebService的項(xiàng)目:Weather
點(diǎn)擊Finish就完成了。
這里是到WebService的代碼。注意:我已經(jīng)添加一個(gè)WebMethod。我還指定了Interceptor的注釋。EJB 3.0的Interceptor提供了良好的方法調(diào)用控制開發(fā)。在這個(gè)例子中我們打印了從該Interceptor被調(diào)用的方法。
這里是SimpleInterceptor.java代碼。
SimpleInterceptor.java代碼
接下來,我們清理并生成項(xiàng)目.
生成項(xiàng)目
然后點(diǎn)擊部署。
從這里您可以瀏覽的WSDL:http://localhost:8080/WeatherService/Weather?wsdl
瀏覽的WSDL
注意:在WebService上EJB模型只是一個(gè)簡單便捷的組件。如果是在一個(gè)一個(gè)EJB模型的EJB-jar壓縮文件部署相同,在該端點(diǎn)部署網(wǎng)址也是一樣的。在Glassfish 3.0有一個(gè)bug的EJB符被當(dāng)作webapps的對待。所以在這里使用的都是GlassFish 3.0.1或者GlassFish 3.1。
你看到部署的EJB模型使用NetBeans非常容易建立的。你也可以使用測試儀測試應(yīng)用程序的webservice在http://localhost:8080/WeatherService/Weather?tester。這便是51CTO為各位編譯的Java EE 6的EJB模型案例。
原文名:JavaEE 6: EJB Webservices in war
原文地址:weblogs.java.net
原文作者:Bhakti Mehta
【51CTO譯稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載,合作媒體轉(zhuǎn)載請注明原文出處、作者及51CTO譯稿和譯者!】
【編輯推薦】
- EJB 3.1五大模式改進(jìn)令Java EE 6更好用
- Java EE 6數(shù)據(jù)驗(yàn)證新框架:Bean驗(yàn)證
- 三百國外開發(fā)者評Java EE 6:價(jià)值重大的改進(jìn)
- WCF創(chuàng)建WebService正確操作步驟詳解
- Java EE 6核心特征:Bean Validation解析