EJB3中文实例教程.ppt

上传人:本田雅阁 文档编号:2143441 上传时间:2019-02-21 格式:PPT 页数:60 大小:294.51KB
返回 下载 相关 举报
EJB3中文实例教程.ppt_第1页
第1页 / 共60页
EJB3中文实例教程.ppt_第2页
第2页 / 共60页
EJB3中文实例教程.ppt_第3页
第3页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《EJB3中文实例教程.ppt》由会员分享,可在线阅读,更多相关《EJB3中文实例教程.ppt(60页珍藏版)》请在三一文库上搜索。

1、第2章 EJB开发基础,2.1 开发环境和工具 2.2 开发一个简单的EJB,一、J2EE平台及安装与设置 1. J2EE组件层次 J2EE提供了一个多层次的分布式应用模型和一系列开发技术规范。多层次分布式应用模型是指根据功能把应用逻辑分成多个层次,每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行(如EJB组件在EJB容器上运行),容器间通过相关协议进行通讯,实现组件间相互调用。,2.1 开发环境和工具,J2EE规范定义了如下组件: 客户端组件 Web组件 EJB组件 J2EE规范定义了以下四个层次: (1)客户端层(Client Tier) 客户端层用来实现企业级应用系统的

2、操作界面和显示层。另外,某些客户端程序也可实现业务逻辑。可分为基于Web的和非基于Web的客户端两种情况。,2.1 开发环境和工具,基于Web的情况下主要作为企业Web服务器的浏览器。非基于Web的客户层则是独立的应用程序,可以完成瘦客户机无法完成的任务。 (2)Web层 为企业提供Web服务。包括企业信息发布等。Web层由Web组件组成。J2EE Web组件包括JSP页面和Servlets。Web层也可以包括一些JavaBeans。,2.1 开发环境和工具,Web层主要用来处理客户请求,调用相应的逻辑块,并把结果以动态网页的形式返回到客户端。 (3)业务层(Business Tier) 业务

3、层也叫EJB层或应用层,它由EJB服务器和EJB组件组成。一般情况下许多开发商把Web服务器和EJB服务器产品结合在一起发布,称为应用服务器。EJB层用来实现企业级信息系统的业务逻辑。这是企业级应用的核心。,2.1 开发环境和工具,由运行在业务层的EJB来处理Bean 。一个Bean从客户端接收数据、处理,然后把数据送到企业信息系统层存储起来。同样,一个Bean也可以从企业信息系统取出数据,发送到客户端程序。业务层中的EJB要运行在容器中,容器解决了底层的问题,如事务处理、生命周期、状态管理、多线程安全管理、资源池等。,2.1 开发环境和工具,(4)企业信息系统层(Enterprise Inf

4、ormation System tier) 处理企业系统软件,包括企业基础系统、数据库系统及其他遗留的系统。J2EE将来的版本支持连接架构(Connector Architecture)。它是连接J2EE平台和企业信息系统层的标准API。,2.1 开发环境和工具,2. J2EE的分布应用技术 为实现企业级分布式应用,J2EE定义了丰富的技术标准,符合这些标准的开发工具和API为开发企业级应用提供支持。这些技术涵盖数据库访问、分布式通信、安全等。为分布式应用提供支持的多方面。 (1)组件技术 J2EE的核心思想是基于组件/容器的应用。每个组件提供了方法、属性、事件的接口。,2.1 开发环境和工具

5、,组件可以由多种语言开发。组件是可以重用的、共享的、分布的。 (2)Servlets和JSP Servlets用来生成动态页面或接收用户请求产生相应操作(调用EJB)。JSP基于文本。通过容器产生相应的Servlets,使内容和显示分开。J2EE中提供了Servlet API,用于创建Servlets。,2.1 开发环境和工具,(3)EJB技术 EJB规范提供了一种开发和部署服务器端组件的方法。每个EJB是按功能逻辑划分的,开发时不必关注系统底层细节问题,只关注具体的事务分析。EJB开发完毕后,按规范部署在EJB容器,完成相应的事务功能。EJB支持分布式计算。真正体现了企业级的应用。,2.1

6、开发环境和工具,(4)数据库访问 无论是传统的还是将来的企业信息系统,数据库都占有重要的地位。开发分布式系统要求数据库访问具有良好的灵活性和扩展性。 JDBC是一个独立于特定的数据库管理系统的开发接口。它提供一个通用的访问SQL数据库和存储结构的机制,是支持基本SQL功能的通用底层的应用程序编程接口。,2.1 开发环境和工具,它在不同的数据库界面上提供了一个统一的用户界面。提供了多种多样的数据库连接方式。J2EE中提供了JDBC API使多种数据库操作简单、可行。 (5)分布式通信技术 分布式通信技术是分布式企业系统的核心技术。J2EE框架为Web应用和EJB应用提供多种通信模式。,2.1 开

7、发环境和工具,为了使运行于某一机器上的对象调用另一台机器的对象,J2EE实现了如下通信方式: Java RMI(Remote Method Invoke):远程方法调用。Java RMI实现Java对象间的远程通信。服务器用注册器把一个名字和远程对象绑在一起,客户机通过名字从服务器注册器上查找远程对象,找到后下载远程对象的本地代理,调用远程对象的方法。,2.1 开发环境和工具,Java IDL(Java Interface Defilation Language):接口定义语言。可以实现Java对象的符合CORBA规范的远程对象通信。 JNDI(Java Naming and Director

8、y Interface):Java命名和目录接口。JNDI为分布式系统访问远程对象提供了一个标准的命名接口。EJB主接口对象、数据源、消息服务器等都可以用JDNI树的形式注册到名称服务器中。,2.1 开发环境和工具,EJB调用它们的对象通过符合JDNI的程序接口在JNDI名称服务器中查找指定名称的远程对象。 JMS(Java Message Service):Java消息服务。为开发消息中间件应用程序定义了一套规范。Java客户端和Java中间层访问消息系统只要实现JMS定义的简单的接口,就可以实现复杂的应用,而不必去关注低级的技术细节。,2.1 开发环境和工具,3. J2EE平台及安装与设置

9、 在安装和实现J2SDKEE1.3.1涉及3个过程:设置开发环境;设置应用环境;做好操作准备。 (1)设置开发环境 .下载和安装JDK1.3.1 .下载和安装J2SDKEE1.3.1 .设置环境变量,2.1 开发环境和工具,.完成J2SDKEE1.3.1在目标系统中的附加配置 .测试环境 (2)设置应用环境 .建立一个源目录 .设置一个数据库 .为JMS设置资源 .创建一个J2EE用户帐户,2.1 开发环境和工具,(3)使J2SDKEE做好操作准备 .启动J2EE服务器 .关闭J2EE服务器 .调试错误行为 .定位log文件 .规定GUI部署工具的替代品,2.1 开发环境和工具,二、 J2EE

10、测试平台安装 J2EE应用开发、测试或运行需要应用服务器的支持。下面以Windows版的WebLogic Server 6.0sp2测试版为J2EE应用程序的运行平台,关于WebLogic Server 6.0sp2测试版的免费获取和产品注册请参阅Bea中国公司的网站 。,2.1 开发环境和工具,WebLogic Server 6.0sp2测试版的安装程序做成了一个独立的压缩包运行程序weblogic600sp2_win.exe。这个文件大概有60M,需要硬盘110M左右的空间。可在Windows2000 Professional简体中文版操作系统下运行这个程序,按照每个安装界面的提示进行安装

11、。 具体如下:,2.1 开发环境和工具,(1)在资源管理器中,双击weblogic600sp2_win.exe,运行Weblogic Server 6.0sp2测试版的安装程序。 首先出现欢迎界面。 (2)点击Next按钮,出现关于授权协议的条款,选中“Yes”。 (3)点击Next按钮,选择安装集。选中Server With Example字体左边的按钮。,2.1 开发环境和工具,(4)点击Next按钮,选择BEA Home目录和安装目录,可以采用缺省目录C:bea和C:beawlserver6.0。 (5)点击Next按钮,进行缺省的服务器配置。设定域名、服务器名、端口号等。 (6)点击N

12、ext按钮,确定是否把WebLogic作为Windows的服务。这里采用缺省的“No”,,2.1 开发环境和工具,(7)点击Next按钮,创建系统级密码,注意密码长度至少8个字符。 (8)点击Next按钮,进入安装过程,出现安装进度条。 (9)进度完成后,点击Done按钮完成安装。,2.1 开发环境和工具,1. 管理服务器 WebLogic Server 6.0采用一套独特的管理方法。服务器可以定义几个同等地位的域(Domain),但对于一个WebLogic Server主机来说,同时只能启动一个域。在域中定义几个服务器(Server),这些服务器中必须有一个称作系统管理服务器(Adminis

13、tration Server),其余称作被管理的服务器(Managed Servers)。,2.1 开发环境和工具,在一个域中,只能有而且必须要有一个系统管理服务器,但可以有多个被管理的服务器。 在WebLogic Server 6.0版本中,每个域对应一个独立的子目录,这些目录位于config子目录下。缺省安装的情况下,WebLogic Server 6.0有三个域,分别是mydomain,examples和petstore。它们对应config目录下的与域名相同的三个子目录名。,2.1 开发环境和工具,WebLogic Server 6.0缺省的三个域各有各的用途,examples域集中给

14、出了各种实例程序,用户可以直接进行运行测试;petstore是个具体的电子商务应用实例,用户也可以进行运行测试;mydomain是供用户建立用户开发的应用的域,缺省情况下,它不包含任何应用。 在域子目录下是应用子目录和服务器运行等脚本文件。,2.1 开发环境和工具,2. 域服务器和管理控制台 安装完WebLogic Server 6.0sp2后,可以通过开始菜单来运行域服务器。因为有三个缺省的域,所以开始菜单中有三个运行域的快捷菜单项。可启动域名为mydomain的服务器,也可以直接运行 C:beawlserver6.0configmydomain 目录下命令脚本startWebLogic.c

15、md来启动域服务器。,2.1 开发环境和工具,输入密码,服务器正确启动后,可以进行测试了。 打开浏览器,在地址栏中输入 http:/localhost:7001/ WebLogic Server 6.0的系统管理采用Web应用的方式,系统管理是通过浏览器进行的。 启动系统管理控制台程序要求输入系统密码。,2.1 开发环境和工具,用户名一定是system,密码就是在安装WebLogic Server的过程中设定的系统密码。 密码正确,就进入系统管理程序界面。 WebLogic Server 6.0的系统管理程序的启动也可以直接在浏览器的地址栏中输入 http:/localhost:7001/co

16、nsole/,然后回车。 注意:同时只能启动一个域服务器。,2.1 开发环境和工具,3. 操作域服务器 操作域服务器通过系统管理程序可以挂起、恢复和停止域服务器。下面是通过console页面程序进行这些操作: (1)打开服务器管理控制台程序。即浏览http:/127.0.0.1:7001/console。 (2)点击左侧树状视图: “mydomain”-“Servers”-“myserver”。,2.1 开发环境和工具,(3)点击右侧视图的“Monitoring”页。 (4)点击视图中的“Shutdown this server.”,就可以关闭服务器,服务器挂起和恢复分别点击“Suspend

17、this server.”和“Resume this server.”。,2.1 开发环境和工具,无论哪种类型的EJB应用程序,它们的开发步骤都是类似的。掌握了一个简单EJB的开发过程,就可以进一步开发更加复杂的应用。本章假设读者从来没有开发过EJB,也不具备EJB的任何知识而准备以最简捷的方式开发出一个简单的EJB应用。 本节介绍开发一个简单的EJB,假设你安装了WebLogic Server 6.0sp2。 本节实例的名字叫HelloWorldEJB。,2.2 开发一个简单的EJB,HelloWorldEJB的功能是: 它只有一个简单的方法sayHello,用来模拟业务逻辑。客户端调用这个

18、方法,获取字符串并显示出来。 1. 准备工作 (1)确定工作目录 假定你指定了一个存放源程序的目录,可以把它叫做工作目录,工作目录确定为c:work。,2.2 开发一个简单的EJB,(2)编写环境变量脚本 开发Java程序过程中,环境变量是程序员要管理的一件事。这些环境变量包括系统环境变量,如path、classpath和用户定义的环境变量。当环境变量较少时,可以直接把它们设置成系统级的,但如果环境变量较多,就不适宜把它们都设成系统级的,这时用一个脚本程序来设置这些环境变量是个很的选择。,2.2 开发一个简单的EJB,在本节中用到的所有实例的环境变量,包括系统级的和用户级的,都用一个环境变量脚

19、本程序来设置。在具体使用的时候,无论是编译,还是执行,只要先运行一下这个脚本命令即可。 这个脚本命令名为setEnv.cmd,放在C:work目录下,可以在命令窗口的任何路径下运行,运行命令如下: c:worksetEnv.cmd,2.2 开发一个简单的EJB,setEnv.cmd的其代码如下: rem 设置系统信息 set JAVA_HOME=C:beajdk130 set WL_HOME=c:beawlserver6.0 set DOMAIN_NAME=mydomain rem 以下不用修改 set path=%path%;%JAVA_HOME%bin,2.2 开发一个简单的EJB,set

20、 classpath=.;%classpath%;%WL_HOME%libweblogic.jar set EX_WEBAPP_CLASSES=%WL_HOME%config%DOMAIN_NAME%applicationsDefaultWebApp_myserverWEB-INFclasses,2.2 开发一个简单的EJB,set CLIENT_CLASSES=%WL_HOME%config%DOMAIN_NAME%clientclasses set SERVER_CLASSES=%WL_HOME%config%DOMAIN_NAME%serverclasses,2.2 开发一个简单的EJB

21、,set classpath=%classpath%;%CLIENT_CLASSES%;%SERVER_CLASSES% set Classpath=%classpath%;%JAVA_HOME%libtools.jar,2.2 开发一个简单的EJB,(3)文本编辑器 为编写EJB程序代码和部署代码,需要一个文本编辑器。可以使用Windows自带的“记事本(NotePad)”编辑器。但建议选择功能强一些的文本编辑器,会更加方便。如UltraEdit,EditPlus等。,2.2 开发一个简单的EJB,2. EJB开发 在开发这个HelloWorleEJB之前,首先在工作目录C:work中为这个

22、实例创建一个子目录。C:workhello。 EJB开发基本上都遵循一个过程,从总体上说,可以分成 五个步骤: .EJB程序代码编写 .EJB程序代码编译,2.2 开发一个简单的EJB,.EJB部署描述文件编写 .打包 .编译生成容器代码 每个步骤使用的工具不同,生成相应的阶段产品。 (1) EJB代码编写 HelloWorld EJB程序代码包括的接口和类名如下:,2.2 开发一个简单的EJB,HelloHome 主接口 HelloHome.java 文件名 功能:定义创建方法 路径: c:workhello Hello 远程接口 Hello.java 文件名 功能:定义业务逻辑方法 路径:

23、 c:workhello,2.2 开发一个简单的EJB,HelloBean Bean 类 HelloBean.java 文件名 功能:实现业务逻辑 路径: c:workhello HelloClient 客户端类 HelloClient.java 文件名 功能:测试程序 路径: c:workhello,2.2 开发一个简单的EJB,具体程序代码如下: (2) EJB代码编写 (3) EJB代码编译 (4)EJB部署文件编写 (5) 打包 (6)编译生成窗口代码,2.2 开发一个简单的EJB,3. 命令脚本文件 上面在EJB的开发过程中使用命令行的方式,我们可以把有所有这些命令行集中起来做成一个

24、命令脚本文件build.cmd,使用它可以一次性执行这些命令,而不必一个命令一个命令的执行。该文件存放在 C:workhello目录下, 其内容为:,2.2 开发一个简单的EJB,md build javac -d build Hello.java HelloHome.java HelloBean.java md buildMeta-inf copy *.xml buildMeta-inf md buildimages copy *.gif buildimages cd build jar cv0f std_myfirstejb_hello.jar,2.2 开发一个简单的EJB,META-IN

25、F *.class images cd java weblogic.ejbc -compiler javac buildstd_myfirstejb_hello.jar buildmyfirstejb_hello.jar 这样,在程序代码编辑好的情况下,只运行这个命令脚本程序,就可以完成EJB开发。,2.2 开发一个简单的EJB,(4)EJB部署 EJB的部署有很多种方法,最简单的一种就是把C:workhellobuild目录下的myfirstejb_hello.jar文件拷贝到服务器的applications目录下,即C:beawlserver6.0configmydomainapplica

26、tions目录下。如果服务器已经启动,则在拷贝的时候不需要重新启动服务器。服务器会自动检测到新拷贝的EJB。,2.2 开发一个简单的EJB,(5)EJB运行测试 编写一个简单的客户端程序HelloClient来测试已部署的ejb。 (6)常见故障及解决方法 (1)在命令行窗口中运行javac命令出现:“java“不是内部或外部命令,也不是可运行的程序或批处理文件。 原因:javac.exe命令文件所有的路径没有包含在环境变量Path中。,2.2 开发一个简单的EJB,(2)执行javac -d build Hello.java HelloHome.java HelloBean.java 命令时

27、出现编译错误,其中有一条错误是: cannot resolve symbol symbol : class EJBHome location : package ejb impor javax.ebj.EJBHome;,2.2 开发一个简单的EJB,原因:javac.exe命令文件甩在的路径没有被包含在环境变量Path中。 解决方法:运行环境变量脚本命令setEnv.cmd。 (3)运行客户端测试程序时,即运行: java HelloClient t3:/127.0.0.1:7001时,出现:,2.2 开发一个简单的EJB,Exception in thread “main“ java.lang.NoClassFoundError: HelloClient 可能的原因是没有把“.”设置到环境变量classpath中。,2.2 开发一个简单的EJB,(4)执行java weblogic.ejbc. 命令时,抛出org.xml.sax.SAXParseException异常。 原因:xml文件有语法错误 解决办法:进行.xml文件有效性检查。,2.2 开发一个简单的EJB,2.2 开发一个简单的EJB,2.2 开发一个简单的EJB,2.2 开发一个简单的EJB,2.2 开发一个简单的EJB,2.2 开发一个简单的EJB,本章结束,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1