ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:3.86MB ,
资源ID:11472954      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11472954.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ejb30+Weblogic+Jboss安装配置及入门例子图文详解.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ejb30+Weblogic+Jboss安装配置及入门例子图文详解.docx

1、ejb30+Weblogic+Jboss安装配置及入门例子图文详解EJB3.0+Jboss/Weblogic安装部署及入门示例一、安装部署Jboss服务器:1、去官网下载jboss-4.2.2.GA.zip或jboss-5.1.0.GA.zip版本直接解压安装,放至相应目录。例如D:Myeclipsejboss2、安装完后请在“系统变量”里添加JBOSS_HOME 变量,值为Jboss的安装路径。如下图3、如果启动jboss出现例外(出现error),先看看jboss所用端口8080有没有被占。可以下载端口查看器(Active Ports)进行检查,确定不是端口被占用,那很大可能是你的JDK安

2、装不正确。如果端口被占用可至jboss安装目录下jboss-5.1.0.GA.zip版本D:Myeclipsejbossserverdefaultdeployjbossweb.sar目录jboss-4.2.2.GA.zip版本目录为jbossserverdefaultdeployjboss-web.deployer下面找到server.xml文件它下面有个节点,将端口改为例如:88884、重新启动jboss服务器,启动服务点击JBoss安装目录bin下面的run.bat:例如此处为:D:Myeclipsejbossbinrun.bat正常启动JBoss服务器出现下面的页面:二、安装部署Webl

3、ogic服务器:1、同样去官网下载weblogic10.0以上版本。因为10以上版本才支持EJB3.0.此处为11g的wls1031_win32.exe。选择create:把下面的勾去掉:三、Jboss+EJB3.0入门示例:1、打开Myeclipse8.5新建EJB项目,版本选择3.0如图的EJBTest项目:目录结构如图二、编写相应代码:在JBoss中:第一种:接口和实现类中分别配置Remote和Stateless编写远程接口类:Remote表示这是一个远程接口(注:Local表示为本地接口)package com.tudou.ejb.session;import javax.ejb.Re

4、mote;Remotepublic interface SayHello public String sayHello(String name);/ 没有方法体SayHello.java 。实现类的命名规则是:接口+Bean ,如: SayHelloBeanStateless表示的是无状态会话bean(注:Stateful表示的是有状态会话bean)如下:package com.tudou.ejb.session;import javax.ejb.Stateless;Statelesspublic class SayHelloBean implements SayHello public St

5、ring sayHello(String name) return 你好, + name; 第二种:接口中不配置,只在实现类中配置Remote和Statelesspackage com.tudou.ejb.session;import javax.ejb.Remote;import javax.ejb.Stateless;package com.tudou.ejb.session;public interface SayHello public String sayHello(String name);/ 没有方法体StatelessRemote( SayHello.class )/此处可以只

6、写Remotepublic class SayHelloBean implements SayHello public String sayHello(String name) return 你好, + name; 三、打包项目文件:1.MyElispse打包向导(土豆推荐方式)在Elispse开发环境下,可以通过向导进行打包。右击项目名称,在跳出的菜单中选择“导出”,在“导出”对话框选择“Jar文件”,在“选择要导出的资源”时,选择源目录和用到的资源。然后选择一个存放目录及文件名。点“完成”就结束了打包。图中存放于桌面上。名为sayHello.jar2. Ant打包任务采用Ant进行打包是比

7、较方便的,这是网上别人推荐的打包方式。下面我们看一个简单的打包任务。当然,这人本人没有做过测试。不过用于学习,特放于此处。可以参考学习include name=*/*.上面建立了一个名为jartest的Ant项目,默认的任务为default=jar,项目的路径为build.xml文件所在目录basedir=. 。应用编绎过后的class文件已经存在于应用的/build/classes/目录下。Ant定义了一个属性“build.classes.dir”,他指向应用的/build/classes/目录。定义了一个名叫jar的任务,description是描述信息。任务中使用jar命令把/build

8、/classes/目录下的所有class文件打包进jar文件,同时也把应用下的META-INF目录下的所有文件打包进jar文件的META-INF目录。打包后的jar文件存放在应用目录下。文件名为:ejbfile.jar4.3.4如何进行WEB应用打包一个Web应用发布到Jboss服务器时需要打成war包。本节将介绍jar命令行及Ant任务两种war文件的打包方式。1.在命令行下用jar命令进行war文件打包(土豆标注:使用jar命令也可以打包成jar文件)在打包前把文件存成以下结构:WEB应用根目录| - */*. jsp| - WEB-INF| - web.xml| - lib| - *.*

9、| - classes| - */*.class在Dos窗口中进入到WEB应用根目录下,执行如下命令jar cvf EJBTest.war *此命令把WEB应用根目录下的所有文件及文件夹打包成EJBTest.war文件例如WEB应用根目录在: D:javawebapp ,命令输入如下:D:javawebapp jar cvf EJBTest.war *2.在Ant任务中进行war文件打包如果文件存放的结构如下面所示:WEB应用根目录|- build.xml|-*/*.jsp|- WEB-INF| - web.xml| - lib| - *.*| - classes| - */*.class那么

10、Ant的war文件打包任务如下: 定义一个名叫war的任务。任务中执行war打包操作,把应用下除了build.xml, /WEB-INF/web.xml之外的所有文件夹及文件打进war包,同时把webxml=/WEB-INF/web.xml作为web应用的web.xml文件。四:创建java项目【1】使用JBoss+EJB3.0启动JBoss服务器,先配置如图一旦发布成功,你就可以在jboss 的管理平台查看她们的JNDI名,输入下面URLhttp:/localhost:8080/jmx-console/点击service=JNDIView,查看EJB的JNDI名称。在出现的页面中,找到“Li

11、st of MBean operations:”栏。点击”Invoke”按钮找JNDI Name界面可以看见HelloWorld会话Bean的JNDI名,JNDI名的组成规则是“上层名称/下层名称“,每层之间以”/”分隔。HelloWorld会话Bean的JNDI名是:HelloWorldBean/remote 。HelloWorld会话Bean发布成功后,接下来介绍客户端如何访问她。1、 导包为此工程添加ejb3.0jar包这些类包都可以在jboss安装目录的client,/server/all/deploy/jboss-aop-jdk50.deployer,/server/all/depl

12、oy/ejb3.deployer,/lib/endorsed等文件夹下找到, 2、编写测试类Test:package com.tudou.ejbtest;import java.util.Properties;import javax.naming.InitialContext;import javax.naming.NamingException;import com.tudou.ejb.session.SayHello;public class Test /* * param args */ public static void main(String args) Properties p

13、 = new Properties(); p.put(java.naming.factory.initial, org.jnp.interfaces.NamingContextFactory); p.put(java.naming.provider.url, localhost); try InitialContext ctx = new InitialContext(p); SayHello s = (SayHello) ctx.lookup(SayHelloBean/remote); String say = s.sayHello(tudou); System.out.println(sa

14、y); catch (NamingException e) e.printStackTrace(); / 上面赋值还可以写成 / p.setProperty(java.naming.factory.initial, / org.jnp.interfaces.NamingContextFactory); / p.setProperty(java.naming.factory.url.pkgs, / org.jboss.naming:org.jnp.interfaces); / p.setProperty(java.naming.provider.url, localhost); 如果你没有在代码

15、中配置而是在src文件夹下配置jndi.properties上面的main可以省略:public static void main(String args) try InitialContext ctx = new InitialContext(); SayHello s = (SayHello) ctx.lookup(SayHelloBean/remote); String say = s.sayHello(tudou); System.out.println(say); catch (NamingException e) e.printStackTrace(); 然后你必须在你项目的src

16、目录下新建jndi.properties文件如果你不知道里面的配置怎么写,你可以到JBoss安装目录下搜索jndi,可以找到在jbossdocsexamplesjca文件夹下有一个hajndi-jms-ds.xml的文件,在节点 java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces java.naming.provider.url=$jboss.bind.address:localho

17、st:1100.你就可以找到它们相应的键和值了。注:配置文件每行必须最前写,等号两边不能有空格。【2】使用Weblogic+EJB3.0只需修改JBoss几处代码即可:第一, 配置Weblogic,这个可能稍微有点复杂,因为和JBoss相比。1、 首先BEA Home为Weblogic的安装根目录,此处为:2、 配置用户名及密码。即安装时的用户和密码。密码为8位纯数字。3、配置域,如:base_domain或tudou_domain。这个域就是安装时所写的那个。密码纯8位数字密码。修改EJB项目源码。并用Weblogic发布。一样导出为jar包。一样需要导入EJBQWeblogicTest项目

18、中。(注:此为土豆原创,沤心沥血测试得出!测试通过!请注意红色部分为修改部分)package com.tudou.ejb.session;import javax.ejb.Remote;Remote(value = SayHello.class)/此处可以只写Romotepublic interface SayHello public String sayHello(String name);/ 没有方法体package com.tudou.ejb.session;import javax.ejb.Stateless;Stateless(mappedName = SayHelloBean)/此

19、处必须配置mappedName指定jndipublic class SayHelloBean implements SayHello public String sayHello(String name) return 你好, + name; package com.tudou.ejbtest;import java.util.Properties;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import com.tudou.ejb.sess

20、ion.SayHello;public class Test /* * tudou */ public static void main(String args) Properties p = new Properties(); / p.setProperty(java.naming.factory.initial, / weblogic.jndi.WLInitialContextFactory); / p.setProperty(java.naming.provider.url, t3:/localhost:7001);/此处配置的参数键值和JBoss不同。 p.put(Context.IN

21、ITIAL_CONTEXT_FACTORY, weblogic.jndi.WLInitialContextFactory);/t3好像是一种协议,它类似于http,snmp等(启动weblogic服务器时可以在控制台看到)。但此处必须用t3,否则报错! p.put(Context.PROVIDER_URL, t3:/localhost:7001); try InitialContext ctx = new InitialContext(p); SayHello s = (SayHello) ctx .lookup(SayHelloBean#com.tudou.ejb.session.SayHe

22、llo);/注此处不像JBoss那样后面写的是/Remote或/Local。 String say = s.sayHello(tudou); System.out.println(say); catch (NamingException e) e.printStackTrace(); 下面援引自网络(红色部分为需要注意部分):在这里作者要重点说明一下EJB JNDI名称默认的命名规则,命名规则如下:1 如果EJB打包进后缀为*.ear的J2EE发布文件,默认的JNDI 名称是访问本地接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/local访问远程接口:EAR-FIL

23、E-BASE-NAME/EJB-CLASS-NAME/remote例:EJB HelloWorld打包进名为HelloWorld.ear的J2EE应用,访问她远程接口的JNDI 名是:HelloWorld/HelloWorldBean/remote2 如果EJB应用打包成后缀为*.jar的发布文件, 默认的JNDI 名称是访问本地接口:EJB-CLASS-NAME/local访问远程接口:EJB-CLASS-NAME/remote例: HelloWorld应用打包成HelloWorld.jar文件,访问她远程接口的JNDI名称是:HelloWorldBean/remote另外有一点要注意:EJ

24、B-CLASS-NAME 是不带包名的,如com.foshanshop.ejb3.impl.HelloWorldBean只需取HelloWorldBean。4.5 EJB3.0远程调用在正式的生产环境下,大部分调用EJB的客户端所在的服务器都为独立的Tomcat或Resin 。下面介绍如何在独立的Tomcat服务器中调用Jboss中的EJB。在独立的Tomcat服务器中调用EJB需要有以下步骤:1 根据应用的需要,把调用EJB所依赖的Jar包拷贝到tomcat下的/shared/lib目录或WEB应用的WEB-INF/lib下,所依赖的Jar一般在jboss安装目录的client,/serve

25、r/all/deploy/jboss-aop-jdk50.deployer,/server/all/deploy/ejb3.deployer,/lib/endorsed等文件夹下。下面的jar文件是必需的:jboss安装目录clientjbossall-client.jarjboss安装目录clientjboss-remoting.jarjboss安装目录clientjboss-aop-jdk50-client.jarjboss安装目录clientjboss-aspect-jdk50-client.jarjboss安装目录clientjboss-ejb3-client.jarjboss安装目录

26、clientjboss-ejb3x.jarjboss安装目录clientjboss-annotations-ejb3.jar2 把调用的EJB接口拷贝到应用的/WEB-INF/classes/目录下,如果有包名,需要把包和类一起拷过来。注意,在部署web应用的服务器上,如果安装的是Tomcat服务器,它的安装路径不能出现空格,如:D:Tomcat5.0不能象D:Tomcat 5.0这样带空格的安装目录,否则会出现下面的异常:java.rmi.UnmarshalException: error unmarshallingarguments; nested exception is:.Malfor

27、medURLException: no protocol: 5.0/webapps/ROOT/WEB-INF/classes/。现在把上述的HelloWorld EJB程序实现远程调用:打包好的EJB组件部署在一台机器的Jobss服务器上,把服务器启动起来,在部署web应用的机器上按照上述的两个步骤把相关jar文件和用到的接口类拷到相应的目录下,把Test.jsp:文件中的props.setProperty(java.naming.provider.url, localhost:1099);这行的localhost改为EJB组件部署机器的IP,把web应用的工程部署到Tomcat下,启动Tomcat,就可以看到运行的结果了。很拽土豆 欢迎交流2011-4-23制作

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1