用JBOSS 32发布EJB程序Word下载.docx

上传人:b****6 文档编号:18269533 上传时间:2022-12-14 格式:DOCX 页数:16 大小:287.93KB
下载 相关 举报
用JBOSS 32发布EJB程序Word下载.docx_第1页
第1页 / 共16页
用JBOSS 32发布EJB程序Word下载.docx_第2页
第2页 / 共16页
用JBOSS 32发布EJB程序Word下载.docx_第3页
第3页 / 共16页
用JBOSS 32发布EJB程序Word下载.docx_第4页
第4页 / 共16页
用JBOSS 32发布EJB程序Word下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

用JBOSS 32发布EJB程序Word下载.docx

《用JBOSS 32发布EJB程序Word下载.docx》由会员分享,可在线阅读,更多相关《用JBOSS 32发布EJB程序Word下载.docx(16页珍藏版)》请在冰豆网上搜索。

用JBOSS 32发布EJB程序Word下载.docx

如果运行程序shutdown.bat可以结束JBOSS服务。

关闭JBOSS服务只需要输入shutdown–S命令即可(注意:

S是大写)。

1.4 

检验JBOSS是否成功启动

打开http:

//localhost:

8080/jmx-console/地址,可以看到JMXAgentView(如图1),里面各种参数啊列表啊什么的;

8083/是空白页面,说明你已经安装和并且启动成功了。

发布JSP程序

2.1 

编写jsp程序

先写一个简单的index.jsp程序,代码如下:

2.2 

制作成.war文件

大家可能不太了解jar、war、ear等文件的关系,icech只给出他们的全称,其余的就自己到网上寻找吧

∙ 

JAR:

JavaArchive

WAR:

WebArchive

EAR:

EnterpriseArchive

JDK提供了jar的工具,就在java所在目录的bin目录下有一个jar.exe的应用程序。

使用方法如下:

用法:

jar{ctxu}[vfm0M][jar-文件][manifest-文件][-C目录]文件名...

选项:

-c创建新的存档

-t列出存档内容的列表

-x展开存档中的命名的(或所有的〕文件

-u更新已存在的存档

-v生成详细输出到标准输出上

-f指定存档文件名

-m包含来自标明文件的标明信息

-0只存储方式;

未用ZIP压缩格式

-M不产生所有项的清单(manifest〕文件

-i为指定的jar文件产生索引信息

-C改变到指定的目录,并且包含下列文件:

如果一个文件名是一个目录,它将被递归处理。

清单(manifest〕文件名和存档文件名都需要被指定,按"

m"

和"

f"

标志指定的相同顺序。

示例1:

将两个class文件存档到一个名为"

classes.jar"

的存档文件中:

jarcvfclasses.jarFoo.classBar.class

示例2:

用一个存在的清单(manifest)文件"

mymanifest"

将foo/目录下的所有

文件存档到一个名为"

jarcvfmclasses.jarmymanifest-Cfoo/.

我的index.jsp文件临时存放在D:

\ejb里面,所以打包的命令如下:

D:

\ejb>

jarcvfhello.warindex.jsp

这里我生成了hello.war文件(小技巧:

war或者jar文件可以用winzip或winrar文件解压)。

2.3 

发布war

一般配置好路径就不会有什么问题了,发布war十分简单,只要将hello.war文件拷贝到%jboss_home%\server\default\deploy\目录就可以了(如图02)。

2.4 

测试发布的war

打开浏览器,输入网址:

http:

8080/hello/,就可以看到(如图03):

发布Servlet程序

3.1 

编写Servlet程序

一个简单的Servlet程序,代码如下:

HelloWorld.java

packagehello;

importjava.io.*;

importjavax.servlet.*;

importjavax.servlet.http.*;

publicclassHelloWorldextendsHttpServlet{

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsIOException,ServletException

{

response.setContentType("

text/html"

);

PrintWriterout=response.getWriter();

out.println("

"

HelloWorld!

out.println("

}

}

3.2 

编写一个web.xml

web.xml代码如下:

HelloWorld

hello2.HelloWorld

/HelloWorld

3.3 

编译Servlet

编译Servlet以前我在“Servlet的编译安装和运行”中已经讲到。

使用JBOSS有所不同,但一样简单。

就是在CLASSPATH中加入:

%jboss_home%\server\default\lib\javax.servlet.jar

3.4 

相关文件的路径

首先要建立一个hello目录,在这个目录里面建立WEB-INF目录(注意字母要大写),将web.xml保存在WEB-INF目录中;

然后建立WEB-INF\classes\hello目录,将HelloWorld.java和编译好的Helloworld.class文件保存在里面。

(见图4)

(图4)

3.5 

如上面的方法,我在执行以下命令:

\ejb\hello>

jarcvfhello.war*.*

生成的hello.war文件拷贝到%jboss_home%\server\default\deploy\目录就行了。

3.6 

下一步我们要测试发布Servlet是否成功,在浏览器中输入地址:

8080/hello/HelloWorld,如果我们看到图5样,就说明发布成功了!

发布EJB程序

我们来编写一段最简单的“HelloWorld”无状态会话Bean,我们创建的无状态会话Bean运行在分布式对象架构里,执行着重要的任务:

向客户端返回一字符串——“Hello,World!

4.1 

创建Remote接口

我们以编写Remote接口开始,Remote接口复制了Bean“暴露”的每一个商务方法,由EJB容器实现Remote接口,实现的结果就是EJB对象。

EJB对象将所有的客户端请求委托给实际的Bean。

源代码如下:

Hello.java

packagehello.ejb;

/**

*RemoteinterfaceforEnterpriseBean:

Hello

*/

publicinterfaceHelloextendsjavax.ejb.EJBObject{

*唯一的方法hello,向客户端返回问候。

publicStringhello()throwsjava.rmi.RemoteException;

4.2 

实现“Hello,world!

”的Bean

接下来,创建Bean本身。

我们将实现一个商务方法——hello()方法,我们还增加了所需的EJB容器回调方法。

程序源代码如下“:

HelloBean.java

*BeanimplementationclassforEnterpriseBean:

publicclassHelloBeanimplementsjavax.ejb.SessionBean{

privatejavax.ejb.SessionContextmySessionCtx;

/**

*getSessionContext

publicjavax.ejb.SessionContextgetSessionContext(){

returnmySessionCtx;

*setSessionContext

publicvoidsetSessionContext(javax.ejb.SessionContextctx){

mySessionCtx=ctx;

*ejbActivate

publicvoidejbActivate(){

*ejbCreate

publicvoidejbCreate()throwsjavax.ejb.CreateException{

*ejbPassivate

publicvoidejbPassivate(){

*ejbRemove

publicvoidejbRemove(){

//

//商务方法

publicStringhello(){

return"

Hello,World!

;

4.3 

创建“Hello,World!

”Home接口

这里编写的Home接口详细说明了生成和清除EJB对象方法。

程序源代码如下:

HelloHome.java

*HomeinterfaceforEnterpriseBean:

publicinterfaceHelloHomeextendsjavax.ejb.EJBHome{

*CreatesadefaultinstanceofSessionBean:

publicHellocreate()throwsjavax.ejb.CreateException,java.rmi.RemoteException;

4.4 

EJB部署描述

ejb-jar.xml

helloEJB

Hello

hello.ejb.HelloHome

hello.ejb.Hello

hello.ejb.HelloBean

Stateless

Container

下面icech来简单介绍一下XML部署描述的内容。

4.5 

客户端代码

客户端代码执行以下几个任务:

查找Home对象;

使用Home对象生成EJB对象;

对EJB对象调用hello()方法;

从内存中清除EJB对象。

HelloClient.java

importjava.util.*;

importjavax.naming.InitialContext;

importjavax.rmi.PortableRemoteObject;

publicclassHelloClient

{

publicstaticvoidmain(String[]args)

{

try

//jndi配置,硬编码到java中,应实现为外部属性文件

Propertiesp=newProperties();

p.setProperty("

java.naming.factory.initial"

"

org.jnp.interfaces.NamingContextFactory"

java.naming.provider.url"

localhost:

1099"

//outprintjndi配置

p.list(System.out);

//Getanamingcontext

InitialContextjndiContext=newInitialContext(p);

System.out.println("

Gotcontext"

//GetareferencetotheInterestBean

//jboss默认jndi名为ejb-jar.xml中的:

ejb-name

Objectref=jndiContext.lookup("

Hello"

Gotreference"

//GetareferencefromthistotheBean"

sHomeinterface

HelloHomehome=(HelloHome)

PortableRemoteObject.narrow(ref,HelloHome.class);

//CreateanHelloobjectfromtheHomeinterface

Hellohello=home.create();

//callthehello()method

System.out.println(hello.hello());

catch(Exceptione)

System.out.println(e.toString());

4.6 

EJB的发布

首先看一下各文件存在的位置。

4.6.1 

编译EJB

编译EJB首先要配置环境变量。

要将:

%jboss_home%\client\jboss-j2ee.jar

加入到CLASSPATH中才能进行编译。

编译的方法就很简单了,执行以下语句即可完成编译。

javachello\ejb\*.java

4.6.2 

发布Server端

将hello\ejb\目录的Hello.java程序、HelloBean.java程序、HelloHome.java程序编译,同META-INF\目录下ejb-jar.xml文件打包成hello.jar文件,拷贝到%jboss_home%\server\default\deploy\目录(如图6)。

>

jarcvfhello.jar*.*META-INF/*.xml

4.6.3 

发布Client端

直接将client目录拷贝到%jboss_home%\server\default\deploy\目录。

4.7 

运行EJB

要运行先配置运行EJB的环境变量。

运行EJB要在CLASSPATH里面增加如下几条语句。

%jboss_home%\client\jbossall-client.jar;

%jboss_home%\client\jnet.jar;

%jboss_home%\client\log4j.jar;

然后进入client目录,输入命令:

javahello.ejb.HelloClient

看到客户端如下显示,说明部署和发布EJB成功(如图7)。

小结

文中很多地方可能没有说得很详尽,还需要配合一些其他文档来学习,因为icech对JBOSS也了解的比较粗,希望有什么意见大家提出来,共同探讨。

参考资料:

《JBOSS3.0.4配置及使用初步》,作者:

acute

《jsp,servlet,ejb3种j2ee应用的实施》,作者:

陈鹏

《精通EJB》,作者:

EdRoman

笔记整理:

姓名:

icech

主页:

西部电子

Email:

icech@

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

当前位置:首页 > 工作范文 > 演讲主持

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

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