打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用ORACLE JDEVELOPER 10G在WEBLOGIC SERVER 8.1上开...

摘要

  Oracle JDeveloper 10g IDE是功能全面的J2EE IDE,可用于在BEA WebLogic Server 8.1上开发和部署J2EE应用程序。在本教程中,将在Jdeveloper中开发一个简单的JSP Web应用程序,并部署到WebLogic Server 8.1实例。本教程还将示范如何使用JDeveloper IDE调试应用程序。

概述

  JDeveloper IDE支持BEA WebLogic Server上J2EE应用程序的开发。JDeveloper 10.1.2支持WebLogic Server版本6.x、7.x和8.x。JDeveloper 10.1.3(刚刚发布)支持版本8.x和9.x。JDeveloper还提供远程调试器,用以调试部署到WebLogic Server的应用程序。在JDeveloper IDE中开发的J2EE应用程序可能包含EJB、JSP、Struts、Java类、applet和servlet。在本教程中,将在JDeveloper 10g IDE中开发一个Model-View(模型-视图)J2EE应用程序(包含会话EJB和JSP客户端),并部署到WebLogic Server 8.1实例。

初步设置

  假定您已经安装了WebLogic Server 8.1。使用Configuration Wizard(配置向导),创建一个WebLogic Server域名。 安装JDeveloper 10g (10.1.2) IDE。将<Weblogic81>\server\lib\weblogic.jar复制到目录<JDeveloper>\jdev\lib\ext。<WebLogic81>是安装WebLogic Server 8.1的目录。<JDeveloper>是安装JDeveloper 10g的目录。 现在就可以开始了!

配置到WebLogic Server的连接

  在本节中,我们将配置从JDeveloper IDE到WebLogic Server的连接。首先,启动WebLogic Server和JDeveloper IDE。 在JDeveloper控制台中,选择Connections选项卡以配置到WebLogic Server的连接。Connection>Application Server节点的作用是配置到应用程序服务器的连接。右击Application Server节点,然后选择New Application Server Connection。



图1.新建应用服务器连接

  这将启动Create Application Server Connection Wizard。在Type框中指定Connection Name,并选择Connection Type为WebLogic Server 8.x。也支持早期版本WebLogic Server 6.x和7.x。 单击Next。



图2.连接类型

  在Authentication框中,指定用户名和密码,然后单击Next。在Connection框中,指定WebLogic Server主机名称、端口、目标服务器和到weblogic.jar的路径。单击Next。



图3.连接参数

  在Test框中,选择Test Connection按钮以测试到WebLogic Server的连接。如果建立了到服务器的连接,就会显示Success消息。单击Finish按钮。现在将配置到WebLogic Server 8.1的连接,一个用于此连接的节点将被添加到Connections-Navigator。



图4. WebLogic Server连接

  现在已经运行了WebLogic Server和JDeveloper IDE,而JDeveloper也能够与WebLogic Server实例进行交互。

将应用程序部署到WebLogic Server

  在本节中,我们将在JDeveloper IDE中开发一个J2EE应用程序,并将它部署到WebLogic Server。此J2EE应用程序包含会话EJB和用于此会话EJB的JSP客户端。首先,在JDeveloper中创建一个应用程序工作区和项目。选择File>New,然后在New Gallery框中选择General>Application Workspace。单击OK按钮。 在Create Application Workspace框中,指定应用程序名称和目录名称,然后选择Web Application [JSP, EJB]作为应用程序模板。单击OK按钮。一个应用程序工作区将被添加到Applications-Navigator,而Model和View项目节点将被添加到工作区。



图5. Model和View项目

  下一步,创建会话EJB。右击Model项目节点,然后选择New。在New Gallery框中,在列出的Categories中选择Business Tier>Enterprise JavaBeans (EJB),然后在列出的项目中选择Session Bean。单击OK按钮。



图 6.新建会话bean

  Create Enterprise JavaBean Wizard将启动。在Select EJB Version框中,选择Enterprise JavaBeans 2.0作为EJB版本。单击Next按钮。在EJB Name and Options框中,指定EJB Name、Session Type和Transaction Type(或者选择默认方式),然后单击Next按钮。在Class Definitions框中,指定Bean Class(或者选择默认方式)。单击Next按钮。在EJB Home and Component Interfaces框中,选择Include Local Interfaces项,然后指定Local Home Interface和Local Interface(或者选择默认方式)。单击Next按钮。在Summary页面,会列出将由Create Enterprise JavaBean Wizard生成的bean类、本地主页接口和本地接口类。单击Finish按钮,以生成会话EJB类。此会话EJB将被添加到Model项目。还会生成ejb-jar.xml部署描述符。

  对于WebLogic Server应用程序,不需要orion-ejb-jar.xml部署,应该从META-INF目录删除它。需要添加weblogic-ejb-jar.xml部署描述符。为此,请右击Model项目节点,然后选择New。在New Gallery框中,在列出的Categories中选择General>Deployment Descriptors,然后在列出的项目中选择weblogic-ejb-jar.xml。



图 7.新建weblogic-ejb-jar.xml

  此weblogic-ejb-jar.xml部署描述符将被添加到Model项目。修改weblogic-ejb-jar.xml部署描述符。使用local-jndi-name替换jndi-name。



图 8. weblogic-ejb-jar.xml

  下一步,将业务方法添加到会话EJB。在Application-Navigator中选择session EJB节点。 在EJB Module Editor中选择Enterprise Java Beans>Session EJB>Methods。在Method Category选择列表中,选择Business methods,然后单击Add按钮。在Business Method Details框中,指定方法名称、返回类型和方法参数。由于示例会话EJB具有本地接口,请选择Expose through Local Interface选项。单击OK按钮。指定的方法将被添加到会话EJB。单击EJB Module Editor中的OK按钮。



图 9. 会话EJB方法

  在Applications-Navigator中,选择session EJB节点,然后在Structure框中,选择SessionEJBBean。在SessionEJBBean类的getAppServer()方法中,添加一个返回的String。



图 10. getAppServer方法

  业务方法getAppServer()通过SessionEJBLocal接口被暴露。下一步,创建用于会话EJB的JSP客户端。右击Applications-Navigator中的View项目节点,然后选择New。在New Gallery框中,在Categories中选择Web Tier>JavaServer Pages,然后在列出的项目中选择JSP Page。在Create JSP框中,指定用于JSP的文件名称和目录名称。此JSP将被添加到View项目。 我们希望这个新建JSP来调用Model项目中的会话EJB的getAppServer()业务方法。虽然这不是完美的MVC行为,但是本教程的目的是探索IDE的特性,而不是写出优秀的代码。需要在View项目的类路径中添加J2EE库。



图 11. Applications Navigator中的weblogic.jsp

  选择Tools>Project Properties,以将J2EE库添加到View项目。在Project Properties框中,在列出的Categories中选择Profiles>Development>Libraries。将J2EE库从Available Libraries框发送到Selected Libraries框中。J2EE库拥有javax.ejb包Enterprise JavaBeans类和接口。



图 12. J2EE库

  在客户端JSP中,从会话EJB JNDI获得SessionEJBLocalHome对象。从SessionEJBLocalHome对象创建SessionEJBLocal对象,并调用getAppServer()方法:

InitialContext ctx=new InitialContext();Object objref =  ic.lookup("SessionEJB");model.SessionEJBLocalHomesessionEJBHome=(model.SessionEJBLocalHome)objref;model.SessionEJBLocal sessionEJB=sessionEJBHome.create();out.println(sessionEJB.getAppServer());

  用于会话EJB的weblogic.jsp客户端JSP如下图所示:



图 13. weblogic.jsp

  我们已经创建了一个会话EJB和一个用于会话EJB的JSP。下一步,将创建用于会话EJB的EJB

  JAR文件。右击Applications-Navigator中的Model项目节点,然后在列出的Categories中选择General>Deployment Profiles。在列出的Items中选择EJB JAR File。单击OK按钮。



图 14.新建EJB JAR文件

  在Create Deployment Profile框中,选择默认部署配置文件名称和目录,然后单击OK按钮。在EJB Jar Deployment Profile Properties框中,选择为EJB JAR File、Enterprise Application Name指定的默认值ejb1,然后单击OK按钮。



图 15. EJB JAR Deployment Profile Properties

  会话EJB的部署配置文件将被添加到Model项目。



图 16. EJB部署配置文件

  下一步,创建用于JSP的WAR文件。右击View项目节点,然后选择New。在New Gallery框中,在列出的Categories中选择General>Deployment Profiles,然后在列出的Items中选择WAR File。单击OK按钮。在Create Deployment Profile框中,指定部署配置文件名称和目录名称(或者选择默认值),然后单击OK按钮。用于JSP的部署配置文件将被添加到View项目。



图 17. Web应用程序部署配置文件

  在Project Properties中设置用于Web应用程序的J2EE Web Context根目录。选择Tools>Project Properties。在Project Properties框中,选择Common>J2EE节点。在J2EE Web Context Root字段中指定上下文根目录。对于示例Web应用程序,指定weblogic-context-root作为上下文根目录。下一步,指定Model项目和View项目之间的依赖关系。右击View项目节点,然后选择New。在New Gallery框中,选择Common>Dependencies节点。在Model项目中选择EJB JAR部署配置文件,然后单击OK按钮。



图 18.项目依赖关系

  下一步,为Model-View应用程序创建应用程序部署配置文件。右击View项目节点,然后选择New。在New Gallery框中,在列出的Categories中选择General>Deployment Profiles,然后在列出的Items中选择EAR File。单击OK按钮。在Create Deployment Profile框中,指定部署配置文件名称和目录(或者选择默认值),然后单击OK按钮。在EAR Deployment Profile Properties框中,选择Application Assembly节点。选择Web应用程序J2EE模块和EJB应用程序模块。单击OK按钮。



图 19. EAR Deployment Profile Properties

  此应用程序部署配置文件节点将被添加到Applications-Navigator。下一步,将J2EE应用程序部署到已经启动的WebLogic Server。右击应用程序部署配置文件节点,然后选择Deploy to>AppServerConnection1。AppServerConnection1是到WebLogic Server的连接。



图 20.部署到WebLogic Server

  此J2EE应用程序将被部署到WebLogic Server。使用URL:http://localhost:7001/console来访问WebLogic Server管理控制台。J2EE应用程序列在Deployments>Applications节点中。



图 21. 部署到WebLogic Server的应用程序

  下一步,使用URL: http://localhost::7001/weblogic-context-root/weblogic.jsp运行WebLogic Server中用于会话EJB的客户端JSP。会话EJB的getAppServer()方法将在该JSP中被调用,而此方法返回的String值将被输出到浏览器。



图 22. 运行WebLogic Server中的JSP

远程调试WebLogic应用程序

  JDeveloper IDE具有用于使用远程调试器来远程调试部署到WebLogic Server的应用程序的自动配置。在本节中,我们将在JDeveloper中调试部署到WebLogic Server的示例J2EE应用程序。为使用JDeveloper debugger调试部署到WebLogic Server的应用程序,请以调试模式启动服务器。WebLogic Server调试基于Java平台调试器架构(Java Platform Debugger Architecture,JPDA)。对于在上一节中部署的J2EE应用程序,服务器并未在调试模式下启动。从WebLogic Server卸载上一节中部署的J2EE应用程序。服务器将以调试模式重新启动。要以调试模式启动WebLogic Server,请修改<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参数启用调试。-Xnoagent参数禁用默认sun.tools.debug调试器。-Xrunjdwp参数加载JDWP的JPDA参考执行实例。JDWP协议是用于使用远程调试器进行调试的协议。以调试模式启动WebLogic Server。在默认情况下,JDeveloper IDE中的远程调试器是不可用的。通过选择Project Properties框中的Profiles>Development>Debugger>Remote节点,在JDeveloper中设置远程调试特性。选择Remote Debugging选项,然后选择Attach to JPDA单选按钮。



图 23. 设置远程调试

  要使用远程调试器调试JSP,请将debug param添加到weblogic.xml部署描述符。在View项目中的weblogic.xml部署描述符中,将debug param值设为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>



图 24. 在weblogic.xml中指定调试参数

  下一步,将断点添加到JSP。选择View>Debugger>Breakpoints。



图 25. 设置断点

  将显示Breakpoints框。默认支持的断点在Breakpoints框中被列出。要添加新断点,请右击Breakpoints框,然后选择New Breakpoint。将显示New Breakpoint框。作为示例,选择Exception类NullPointerException。



图 26.断点类

  NullPointerException断点将被添加到Breakpoints框。为了演示远程调试,将一个错误添加到JSP。使用

  InitialContext ctx=null;

  替换

  InitialContext ctx=new InitialContext();

  设置InitialContext为空,将在JSP应用程序中生成NullPointerException。像上一节一样,生成Web应用程序的部署配置文件和J2EE应用程序的部署配置文件。像上一节一样,将J2EE应用程序部署到WebLogic Server。使用URL:http://localhost:7001/console来访问WebLogic Server Administration Console。 下一步,启动远程调试器。右击View项目,然后选择Remote Debugger。



图 27. 启动远程调试器

  在Debugger框中,指定本地主机作为Host(主机),4000作为Port(端口)。端口4000在-Xrunjdwp参数中指定,该参数用于以调试模式启动WebLogic Server。



图 28.调试器主机和端口

  远程调试器将启动并连接到WebLogic Server。



图 29. 调试器输出

  在WebLogic Server管理控制台中,使用以下URL调用存在错误(InitialContext被设置为空)的weblogic.jsp JSP:

http://localhost:7001/weblogic-context-root/weblogic.jsp

  调试器会发现异常。如果调试器未能找到JSP源文件,可能会显示Unable to Find Source File框。 使用open file dialog单选按钮选择Let me find the file myself。在View/public_html目录中选择weblogic.jsp。生成NullPointerException的代码将在JSP中突出显示。



图 30. 存在错误的JSP代码

  在JDeveloper IDE中使用不同的调试选项来调试JSP应用程序。在本节中,我们通过JDeveloper远程调试器调试了从JDeveloper IDE部署到WebLogic Server的J2EE应用程序。

结束语

  本教程介绍如何在JDeveloper IDE中开发WebLogic Server应用程序,并从JDeveloper中将其部署到WebLogic Server实例。远程调试器添加了用于调试所部署的应用程序的自动配置。J2EE应用程序向导和应用服务器连接向导简化了应用程序的开发和部署。我希望本教程能够使您奠定坚实的基础,以便开始将JDeveloper与WebLogic Server结合使用。

参考资料

  dev2dev WebLogic Server 产品中心

原文出处:http://dev2dev.bea.com/pub/a/2006/01/wls-jdeveloper.html

 作者简介
Deepak Vohra 是一名NuBean顾问兼web开发人员。他拥有Sun Certified Java 1.4 Programmer和Sun Certified Web Component Developer for J2EE证书。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
真正的java学习从入门到精通
java学习入门建议-摘自CSDN热心网友们的回复-感谢--
常用的java应用服务器
Tomcat和Weblogic的区别
J2EE的web服务器
Apache TomEE 入门指南
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服