摘要Oracle JDeveloper 10g IDE是功能全面的J2EE IDE,可用于在BEA WebLogic Server 8.1上開發(fā)和部署J2EE應(yīng)用程序。在本教程中,將在Jdeveloper中開發(fā)一個(gè)簡(jiǎn)單的JSP Web應(yīng)用程序,并部署到WebLogic Server 8.1實(shí)例。本教程還將示范如何使用JDeveloper IDE調(diào)試應(yīng)用程序。 概述JDeveloper IDE支持BEA WebLogic Server上J2EE應(yīng)用程序的開發(fā)。JDeveloper 10.1.2支持WebLogic Server版本6.x、7.x和8.x。JDeveloper 10.1.3(剛剛發(fā)布)支持版本8.x和9.x。JDeveloper還提供遠(yuǎn)程調(diào)試器,用以調(diào)試部署到WebLogic Server的應(yīng)用程序。在JDeveloper IDE中開發(fā)的J2EE應(yīng)用程序可能包含EJB、JSP、Struts、Java類、applet和servlet。在本教程中,將在JDeveloper 10g IDE中開發(fā)一個(gè)Model-View(模型-視圖)J2EE應(yīng)用程序(包含會(huì)話EJB和JSP客戶端),并部署到WebLogic Server 8.1實(shí)例。 初步設(shè)置假定您已經(jīng)安裝了WebLogic Server 8.1。使用Configuration Wizard(配置向?qū)В?,?chuàng)建一個(gè)WebLogic Server域名。 安裝JDeveloper 10g (10.1.2) IDE。將<Weblogic81>\server\lib\weblogic.jar復(fù)制到目錄<JDeveloper>\jdev\lib\ext。<WebLogic81>是安裝WebLogic Server 8.1的目錄。<JDeveloper>是安裝JDeveloper 10g的目錄。 現(xiàn)在就可以開始了! 配置到WebLogic Server的連接在本節(jié)中,我們將配置從JDeveloper IDE到WebLogic Server的連接。首先,啟動(dòng)WebLogic Server和JDeveloper IDE。 在JDeveloper控制臺(tái)中,選擇Connections選項(xiàng)卡以配置到WebLogic Server的連接。Connection>Application Server節(jié)點(diǎn)的作用是配置到應(yīng)用程序服務(wù)器的連接。右擊Application Server節(jié)點(diǎn),然后選擇New Application Server Connection。
這將啟動(dòng)Create Application Server Connection Wizard。在Type框中指定Connection Name,并選擇Connection Type為WebLogic Server 8.x。也支持早期版本W(wǎng)ebLogic Server 6.x和7.x。 單擊Next。
在Authentication框中,指定用戶名和密碼,然后單擊Next。在Connection框中,指定WebLogic Server主機(jī)名稱、端口、目標(biāo)服務(wù)器和到weblogic.jar的路徑。單擊Next。
在Test框中,選擇Test Connection按鈕以測(cè)試到WebLogic Server的連接。如果建立了到服務(wù)器的連接,就會(huì)顯示Success消息。單擊Finish按鈕?,F(xiàn)在將配置到WebLogic Server 8.1的連接,一個(gè)用于此連接的節(jié)點(diǎn)將被添加到Connections-Navigator。
現(xiàn)在已經(jīng)運(yùn)行了WebLogic Server和JDeveloper IDE,而JDeveloper也能夠與WebLogic Server實(shí)例進(jìn)行交互。 將應(yīng)用程序部署到WebLogic Server在本節(jié)中,我們將在JDeveloper IDE中開發(fā)一個(gè)J2EE應(yīng)用程序,并將它部署到WebLogic Server。此J2EE應(yīng)用程序包含會(huì)話EJB和用于此會(huì)話EJB的JSP客戶端。首先,在JDeveloper中創(chuàng)建一個(gè)應(yīng)用程序工作區(qū)和項(xiàng)目。選擇File>New,然后在New Gallery框中選擇General>Application Workspace。單擊OK按鈕。 在Create Application Workspace框中,指定應(yīng)用程序名稱和目錄名稱,然后選擇Web Application [JSP, EJB]作為應(yīng)用程序模板。單擊OK按鈕。一個(gè)應(yīng)用程序工作區(qū)將被添加到Applications-Navigator,而Model和View項(xiàng)目節(jié)點(diǎn)將被添加到工作區(qū)。
下一步,創(chuàng)建會(huì)話EJB。右擊Model項(xiàng)目節(jié)點(diǎn),然后選擇New。在New Gallery框中,在列出的Categories中選擇Business Tier>Enterprise JavaBeans (EJB),然后在列出的項(xiàng)目中選擇Session Bean。單擊OK按鈕。
Create Enterprise JavaBean Wizard將啟動(dòng)。在Select EJB Version框中,選擇Enterprise JavaBeans 2.0作為EJB版本。單擊Next按鈕。在EJB Name and Options框中,指定EJB Name、Session Type和Transaction Type(或者選擇默認(rèn)方式),然后單擊Next按鈕。在Class Definitions框中,指定Bean Class(或者選擇默認(rèn)方式)。單擊Next按鈕。在EJB Home and Component Interfaces框中,選擇Include Local Interfaces項(xiàng),然后指定Local Home Interface和Local Interface(或者選擇默認(rèn)方式)。單擊Next按鈕。在Summary頁面,會(huì)列出將由Create Enterprise JavaBean Wizard生成的bean類、本地主頁接口和本地接口類。單擊Finish按鈕,以生成會(huì)話EJB類。此會(huì)話EJB將被添加到Model項(xiàng)目。還會(huì)生成ejb-jar.xml部署描述符。 對(duì)于WebLogic Server應(yīng)用程序,不需要orion-ejb-jar.xml部署,應(yīng)該從META-INF目錄刪除它。需要添加weblogic-ejb-jar.xml部署描述符。為此,請(qǐng)右擊Model項(xiàng)目節(jié)點(diǎn),然后選擇New。在New Gallery框中,在列出的Categories中選擇General>Deployment Descriptors,然后在列出的項(xiàng)目中選擇weblogic-ejb-jar.xml。
此weblogic-ejb-jar.xml部署描述符將被添加到Model項(xiàng)目。修改weblogic-ejb-jar.xml部署描述符。使用local-jndi-name替換jndi-name。
下一步,將業(yè)務(wù)方法添加到會(huì)話EJB。在Application-Navigator中選擇session EJB節(jié)點(diǎn)。 在EJB Module Editor中選擇Enterprise Java Beans>Session EJB>Methods。在Method Category選擇列表中,選擇Business methods,然后單擊Add按鈕。在Business Method Details框中,指定方法名稱、返回類型和方法參數(shù)。由于示例會(huì)話EJB具有本地接口,請(qǐng)選擇Expose through Local Interface選項(xiàng)。單擊OK按鈕。指定的方法將被添加到會(huì)話EJB。單擊EJB Module Editor中的OK按鈕。
在Applications-Navigator中,選擇session EJB節(jié)點(diǎn),然后在Structure框中,選擇SessionEJBBean。在SessionEJBBean類的getAppServer()方法中,添加一個(gè)返回的String。
業(yè)務(wù)方法getAppServer()通過SessionEJBLocal接口被暴露。下一步,創(chuàng)建用于會(huì)話EJB的JSP客戶端。右擊Applications-Navigator中的View項(xiàng)目節(jié)點(diǎn),然后選擇New。在New Gallery框中,在Categories中選擇Web Tier>JavaServer Pages,然后在列出的項(xiàng)目中選擇JSP Page。在Create JSP框中,指定用于JSP的文件名稱和目錄名稱。此JSP將被添加到View項(xiàng)目。 我們希望這個(gè)新建JSP來調(diào)用Model項(xiàng)目中的會(huì)話EJB的getAppServer()業(yè)務(wù)方法。雖然這不是完美的MVC行為,但是本教程的目的是探索IDE的特性,而不是寫出優(yōu)秀的代碼。需要在View項(xiàng)目的類路徑中添加J2EE庫。
選擇Tools>Project Properties,以將J2EE庫添加到View項(xiàng)目。在Project Properties框中,在列出的Categories中選擇Profiles>Development>Libraries。將J2EE庫從Available Libraries框發(fā)送到Selected Libraries框中。J2EE庫擁有javax.ejb包Enterprise JavaBeans類和接口。
在客戶端JSP中,從會(huì)話EJB JNDI獲得SessionEJBLocalHome對(duì)象。從SessionEJBLocalHome對(duì)象創(chuàng)建SessionEJBLocal對(duì)象,并調(diào)用getAppServer()方法: InitialContext ctx=new InitialContext(); Object objref = ic.lookup("SessionEJB"); model.SessionEJBLocalHome sessionEJBHome=(model.SessionEJBLocalHome)objref; model.SessionEJBLocal sessionEJB=sessionEJBHome.create(); out.println(sessionEJB.getAppServer()); 用于會(huì)話EJB的weblogic.jsp客戶端JSP如下圖所示:
我們已經(jīng)創(chuàng)建了一個(gè)會(huì)話EJB和一個(gè)用于會(huì)話EJB的JSP。下一步,將創(chuàng)建用于會(huì)話EJB的EJB JAR文件。右擊Applications-Navigator中的Model項(xiàng)目節(jié)點(diǎn),然后在列出的Categories中選擇General>Deployment Profiles。在列出的Items中選擇EJB JAR File。單擊OK按鈕。
在Create Deployment Profile框中,選擇默認(rèn)部署配置文件名稱和目錄,然后單擊OK按鈕。在EJB Jar Deployment Profile Properties框中,選擇為EJB JAR File、Enterprise Application Name指定的默認(rèn)值ejb1,然后單擊OK按鈕。
會(huì)話EJB的部署配置文件將被添加到Model項(xiàng)目。
下一步,創(chuàng)建用于JSP的WAR文件。右擊View項(xiàng)目節(jié)點(diǎn),然后選擇New。在New Gallery框中,在列出的Categories中選擇General>Deployment Profiles,然后在列出的Items中選擇WAR File。單擊OK按鈕。在Create Deployment Profile框中,指定部署配置文件名稱和目錄名稱(或者選擇默認(rèn)值),然后單擊OK按鈕。用于JSP的部署配置文件將被添加到View項(xiàng)目。
在Project Properties中設(shè)置用于Web應(yīng)用程序的J2EE Web Context根目錄。選擇Tools>Project Properties。在Project Properties框中,選擇Common>J2EE節(jié)點(diǎn)。在J2EE Web Context Root字段中指定上下文根目錄。對(duì)于示例Web應(yīng)用程序,指定weblogic-context-root作為上下文根目錄。下一步,指定Model項(xiàng)目和View項(xiàng)目之間的依賴關(guān)系。右擊View項(xiàng)目節(jié)點(diǎn),然后選擇New。在New Gallery框中,選擇Common>Dependencies節(jié)點(diǎn)。在Model項(xiàng)目中選擇EJB JAR部署配置文件,然后單擊OK按鈕。
下一步,為Model-View應(yīng)用程序創(chuàng)建應(yīng)用程序部署配置文件。右擊View項(xiàng)目節(jié)點(diǎn),然后選擇New。在New Gallery框中,在列出的Categories中選擇General>Deployment Profiles,然后在列出的Items中選擇EAR File。單擊OK按鈕。在Create Deployment Profile框中,指定部署配置文件名稱和目錄(或者選擇默認(rèn)值),然后單擊OK按鈕。在EAR Deployment Profile Properties框中,選擇Application Assembly節(jié)點(diǎn)。選擇Web應(yīng)用程序J2EE模塊和EJB應(yīng)用程序模塊。單擊OK按鈕。
此應(yīng)用程序部署配置文件節(jié)點(diǎn)將被添加到Applications-Navigator。下一步,將J2EE應(yīng)用程序部署到已經(jīng)啟動(dòng)的WebLogic Server。右擊應(yīng)用程序部署配置文件節(jié)點(diǎn),然后選擇Deploy to>AppServerConnection1。AppServerConnection1是到WebLogic Server的連接。
此J2EE應(yīng)用程序?qū)⒈徊渴鸬絎ebLogic Server。使用URL:http://localhost:7001/console來訪問WebLogic Server管理控制臺(tái)。J2EE應(yīng)用程序列在Deployments>Applications節(jié)點(diǎn)中。
下一步,使用URL: http://localhost::7001/weblogic-context-root/weblogic.jsp運(yùn)行WebLogic Server中用于會(huì)話EJB的客戶端JSP。會(huì)話EJB的getAppServer()方法將在該JSP中被調(diào)用,而此方法返回的String值將被輸出到瀏覽器。
遠(yuǎn)程調(diào)試WebLogic應(yīng)用程序JDeveloper IDE具有用于使用遠(yuǎn)程調(diào)試器來遠(yuǎn)程調(diào)試部署到WebLogic Server的應(yīng)用程序的自動(dòng)配置。在本節(jié)中,我們將在JDeveloper中調(diào)試部署到WebLogic Server的示例J2EE應(yīng)用程序。為使用JDeveloper debugger調(diào)試部署到WebLogic Server的應(yīng)用程序,請(qǐng)以調(diào)試模式啟動(dòng)服務(wù)器。WebLogic Server調(diào)試基于Java平臺(tái)調(diào)試器架構(gòu)(Java Platform Debugger Architecture,JPDA)。對(duì)于在上一節(jié)中部署的J2EE應(yīng)用程序,服務(wù)器并未在調(diào)試模式下啟動(dòng)。從WebLogic Server卸載上一節(jié)中部署的J2EE應(yīng)用程序。服務(wù)器將以調(diào)試模式重新啟動(dòng)。要以調(diào)試模式啟動(dòng)WebLogic Server,請(qǐng)修改<weblogic81>\server\bin目錄下的startWLS腳本。<weblogic81>是安裝WebLogic Server 8.1的目錄。在startWLS腳本中,使用以下代碼指定JAVA_OPTIONS: set JAVA_OPTIONS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,address=4000,suspend=n -XDebug參數(shù)啟用調(diào)試。-Xnoagent參數(shù)禁用默認(rèn)sun.tools.debug調(diào)試器。-Xrunjdwp參數(shù)加載JDWP的JPDA參考執(zhí)行實(shí)例。JDWP協(xié)議是用于使用遠(yuǎn)程調(diào)試器進(jìn)行調(diào)試的協(xié)議。以調(diào)試模式啟動(dòng)WebLogic Server。在默認(rèn)情況下,JDeveloper IDE中的遠(yuǎn)程調(diào)試器是不可用的。通過選擇Project Properties框中的Profiles>Development>Debugger>Remote節(jié)點(diǎn),在JDeveloper中設(shè)置遠(yuǎn)程調(diào)試特性。選擇Remote Debugging選項(xiàng),然后選擇Attach to JPDA單選按鈕。
要使用遠(yuǎn)程調(diào)試器調(diào)試JSP,請(qǐng)將debug param添加到weblogic.xml部署描述符。在View項(xiàng)目中的weblogic.xml部署描述符中,將debug param值設(shè)為true: <weblogic-web-app> <reference-descriptor/> <jsp-descriptor> <jsp-param> <param-name>debug</param-name> <param-value>true</param-value> </jsp-param> </jsp-descriptor> </weblogic-web-app>
下一步,將斷點(diǎn)添加到JSP。選擇View>Debugger>Breakpoints。
將顯示Breakpoints框。默認(rèn)支持的斷點(diǎn)在Breakpoints框中被列出。要添加新斷點(diǎn),請(qǐng)右擊Breakpoints框,然后選擇New Breakpoint。將顯示New Breakpoint框。作為示例,選擇Exception類NullPointerException。
NullPointerException斷點(diǎn)將被添加到Breakpoints框。為了演示遠(yuǎn)程調(diào)試,將一個(gè)錯(cuò)誤添加到JSP。使用 InitialContext ctx=null; 替換 InitialContext ctx=new InitialContext(); 設(shè)置InitialContext為空,將在JSP應(yīng)用程序中生成NullPointerException。像上一節(jié)一樣,生成Web應(yīng)用程序的部署配置文件和J2EE應(yīng)用程序的部署配置文件。像上一節(jié)一樣,將J2EE應(yīng)用程序部署到WebLogic Server。使用URL:http://localhost:7001/console來訪問WebLogic Server Administration Console。 下一步,啟動(dòng)遠(yuǎn)程調(diào)試器。右擊View項(xiàng)目,然后選擇Remote Debugger。
在Debugger框中,指定本地主機(jī)作為Host(主機(jī)),4000作為Port(端口)。端口4000在-Xrunjdwp參數(shù)中指定,該參數(shù)用于以調(diào)試模式啟動(dòng)WebLogic Server。
遠(yuǎn)程調(diào)試器將啟動(dòng)并連接到WebLogic Server。
在WebLogic Server管理控制臺(tái)中,使用以下URL調(diào)用存在錯(cuò)誤(InitialContext被設(shè)置為空)的weblogic.jsp JSP: http://localhost:7001/weblogic-context-root/weblogic.jsp 調(diào)試器會(huì)發(fā)現(xiàn)異常。如果調(diào)試器未能找到JSP源文件,可能會(huì)顯示Unable to Find Source File框。 使用open file dialog單選按鈕選擇Let me find the file myself。在View/public_html目錄中選擇weblogic.jsp。生成NullPointerException的代碼將在JSP中突出顯示。
在JDeveloper IDE中使用不同的調(diào)試選項(xiàng)來調(diào)試JSP應(yīng)用程序。在本節(jié)中,我們通過JDeveloper遠(yuǎn)程調(diào)試器調(diào)試了從JDeveloper IDE部署到WebLogic Server的J2EE應(yīng)用程序。 結(jié)束語本教程介紹如何在JDeveloper IDE中開發(fā)WebLogic Server應(yīng)用程序,并從JDeveloper中將其部署到WebLogic Server實(shí)例。遠(yuǎn)程調(diào)試器添加了用于調(diào)試所部署的應(yīng)用程序的自動(dòng)配置。J2EE應(yīng)用程序向?qū)Ш蛻?yīng)用服務(wù)器連接向?qū)Ш?jiǎn)化了應(yīng)用程序的開發(fā)和部署。我希望本教程能夠使您奠定堅(jiān)實(shí)的基礎(chǔ),以便開始將JDeveloper與WebLogic Server結(jié)合使用。 參考資料dev2dev WebLogic Server 產(chǎn)品中心 原文出處:http://dev2dev./pub/a/2006/01/wls-jdeveloper.html ![]()
|
|