当前位置: 技术问答>java相关
如何用JSP测试EJB,请教教我!
来源: 互联网 发布时间:2015-08-21
本文导语: 我写了一个SessionBean,Hello.class,HelloHome.class,HelloBean.class.发布到weblogic7.0上,写一个HelloClient.class测试成功,但写个JSP测试时,提示找不到HelloHome,EJBContext等,JSP代码: EJB示例 | 是不是你的部署...
我写了一个SessionBean,Hello.class,HelloHome.class,HelloBean.class.发布到weblogic7.0上,写一个HelloClient.class测试成功,但写个JSP测试时,提示找不到HelloHome,EJBContext等,JSP代码:
EJB示例
EJB示例
|
是不是你的部署有问题,给你1. 首先需要把
d:beawlserver6.0libweblogic.jar;d:beautilsutils.jar设置到CLASSPATH里面
2. 编译三个源文件(见附件),
myString.java
myStringEJB.java
myStringHome.java
比如此3个源文件在d:ambow下,
cd d:ambow
javac my*.java
生成3个类文件,
myString.class
myStringEJB.class
myStringHome.class
3。在与三个class文件同级的目录下新建目录META-INF,即d:ambowMETA-INF
4。将附件中的两个xml文件拷贝到新建的META-INF目录下,xml文件中语法的相关含义,请参考weblogic6.0相关文档
5。打包文件使用jar命令
jar cvf myString.jar myStri*.class -C META-INF/ weblogic-ejb-jar.xml META-INF/ejb-jar.xml
注意此前有一空格
运行完该命令后在D:AMBOW目录下生成myString.jar
6。 使用weblogic的Ejbc命令生成相关代理类
在d:运行
java weblogic.ejbc ambowmyString.jar d:myString.jar
这样就会在d:下生成我们可以直接发布的jar文件
7。 Deploy
请大家使用Weblogic console来deploy Ejb
Deployments->EJB->Install a new EJB...
暂时不用下面的方法来deploy
d: java weblogic.deploy -host 127.0.0.1 -port 7001 deploy yourpassword myString.jar
经过Ejbc处理过的jar文件
8。 测试Ejb使用附件中的一个InvEjb.java(Servlet)
编译此文件时,需要Home和Remote两个InterFace,
即myString.class和myStringHome.class两个文件,只要这两个文件在classpath里面就可以。可以把InvEjb.java放到d:ambow下进行编译,因为所需要的两个接口文件就在那里,或者把任何一个(不管是否已经被Ejbc处理过)myString.jar设置到classpath里.
把InvEjb.class拷贝到
D:beawlserver6.0configmydomainapplicationsbbbWEB-INFclasses下
修改mydomainapplicationsbbbWEB-INF下的web.xml;文件
增加如下语句
InvocateEjb
InvEjb
InvocateEjb
/InvEjb/*
9。 将myString.class和myStringHome.class拷贝到
D:beawlserver6.0configmydomainserverclasses目录下
10。 保存相关文件后,启动Webloigic,访问如下地址
http://127.0.0.1:7001/bbb/InvEjb
一篇文章参考,你可以把它改成自己的类文件。
d:beawlserver6.0libweblogic.jar;d:beautilsutils.jar设置到CLASSPATH里面
2. 编译三个源文件(见附件),
myString.java
myStringEJB.java
myStringHome.java
比如此3个源文件在d:ambow下,
cd d:ambow
javac my*.java
生成3个类文件,
myString.class
myStringEJB.class
myStringHome.class
3。在与三个class文件同级的目录下新建目录META-INF,即d:ambowMETA-INF
4。将附件中的两个xml文件拷贝到新建的META-INF目录下,xml文件中语法的相关含义,请参考weblogic6.0相关文档
5。打包文件使用jar命令
jar cvf myString.jar myStri*.class -C META-INF/ weblogic-ejb-jar.xml META-INF/ejb-jar.xml
注意此前有一空格
运行完该命令后在D:AMBOW目录下生成myString.jar
6。 使用weblogic的Ejbc命令生成相关代理类
在d:运行
java weblogic.ejbc ambowmyString.jar d:myString.jar
这样就会在d:下生成我们可以直接发布的jar文件
7。 Deploy
请大家使用Weblogic console来deploy Ejb
Deployments->EJB->Install a new EJB...
暂时不用下面的方法来deploy
d: java weblogic.deploy -host 127.0.0.1 -port 7001 deploy yourpassword myString.jar
经过Ejbc处理过的jar文件
8。 测试Ejb使用附件中的一个InvEjb.java(Servlet)
编译此文件时,需要Home和Remote两个InterFace,
即myString.class和myStringHome.class两个文件,只要这两个文件在classpath里面就可以。可以把InvEjb.java放到d:ambow下进行编译,因为所需要的两个接口文件就在那里,或者把任何一个(不管是否已经被Ejbc处理过)myString.jar设置到classpath里.
把InvEjb.class拷贝到
D:beawlserver6.0configmydomainapplicationsbbbWEB-INFclasses下
修改mydomainapplicationsbbbWEB-INF下的web.xml;文件
增加如下语句
InvocateEjb
InvEjb
InvocateEjb
/InvEjb/*
9。 将myString.class和myStringHome.class拷贝到
D:beawlserver6.0configmydomainserverclasses目录下
10。 保存相关文件后,启动Webloigic,访问如下地址
http://127.0.0.1:7001/bbb/InvEjb
一篇文章参考,你可以把它改成自己的类文件。
|
其实对于EJB来说,不管是JSP还是其它client,都无所谓了,你用appliction测试通过,jsp也不需要测试了。
我用JB开发,所以一般是利用它自动生成的TestClient来测试,如果要用jsp,我也是直接在jsp中引用这个testclient类,就是把它作为一个java类来使用即可。
至于你帖的代码,其实在jsp中访问ejb如果jsp和ejb处于同一个服务中,可以不用properties的,直接 new InitialContext() 即可。
能否再提供一点错误信息?
我用JB开发,所以一般是利用它自动生成的TestClient来测试,如果要用jsp,我也是直接在jsp中引用这个testclient类,就是把它作为一个java类来使用即可。
至于你帖的代码,其实在jsp中访问ejb如果jsp和ejb处于同一个服务中,可以不用properties的,直接 new InitialContext() 即可。
能否再提供一点错误信息?
|
上面文章只做参考,你可以把其中的了文件换成你自己的。