其实对于EJB来说,不管是JSP还是其它client,都无所谓了,你用appliction测试通过,jsp也不需要测试了。我用JB开发,所以一般是利用它自动生成的TestClient来测试,如果要用jsp,我也是直接在jsp中引用这个testclient类,就是把它作为一个java类来使用即可。至于你帖的代码,其实在jsp中访问ejb如果jsp和ejb处于同一个服务中,可以不用properties的,直接 new InitialContext() 即可。能否再提供一点错误信息?
解决方案 »
- 请大侠们帮我看看这个问题
- The content of element type "session-factory" must match "(property*,mapping*,(c
- javaee.jar所属包在哪下载
- hibernate的链接问题
- 急!使用javamail接收邮件,出现"A2 BAD failed"错误,如何解决???
- 利用Axis库调用C#的Web Service
- Axis+tomcat配置失败,高手请看看
- JBuilder9+Weblogic7+SQLServer2000开发EntityEJB,为什么看不到数据库中该有的表?
- 怪门的问题!急!!
- JBoss_tomcat下XML文件的浏览
- j2ee1.3.1有问题。
- jsp调用EJB出错,请大侠帮忙看看,急急急
symbol : class HelloHome
location: class jsp_servlet.__test
HelloHome shMain = null; //[ /test.jsp; Line: 12]
^
D:\bea\user_projects\mydomain\myserver\.wlnotdelete\DefaultWebApp_DefaultWebApp_113467\jsp_servlet\__test.java:101: cannot resolve symbol
symbol : class Context
location: class jsp_servlet.__test
Context ctx=new InitialContext(); //[ /test.jsp; Line: 15]
^
D:\bea\user_projects\mydomain\myserver\.wlnotdelete\DefaultWebApp_DefaultWebApp_113467\jsp_servlet\__test.java:101: cannot resolve symbol
symbol : class InitialContext
location: class jsp_servlet.__test
Context ctx=new InitialContext(); //[ /test.jsp; Line: 15]
^
D:\bea\user_projects\mydomain\myserver\.wlnotdelete\DefaultWebApp_DefaultWebApp_113467\jsp_servlet\__test.java:102: cannot resolve symbol
symbol : class HelloHome
location: class jsp_servlet.__test
shMain = ( HelloHome ) PortableRemoteObject.narrow( ctx.lookup("HelloHome")); //[ /test.jsp; Line: 16]
^
D:\bea\user_projects\mydomain\myserver\.wlnotdelete\DefaultWebApp_DefaultWebApp_113467\jsp_servlet\__test.java:102: cannot resolve symbol
symbol : variable PortableRemoteObject
location: class jsp_servlet.__test
shMain = ( HelloHome ) PortableRemoteObject.narrow( ctx.lookup("HelloHome")); //[ /test.jsp; Line: 16]
^
D:\bea\user_projects\mydomain\myserver\.wlnotdelete\DefaultWebApp_DefaultWebApp_113467\jsp_servlet\__test.java:104: cannot resolve symbol
symbol : class NamingException
location: class jsp_servlet.__test
catch( NamingException ne ) //[ /test.jsp; Line: 18]
^
D:\bea\user_projects\mydomain\myserver\.wlnotdelete\DefaultWebApp_DefaultWebApp_113467\jsp_servlet\__test.java:108: cannot resolve symbol
symbol : class Hello
location: class jsp_servlet.__test
Hello hello = shMain.create(); //[ /test.jsp; Line: 22]
^
7 errors
我是刚开始写EJB,对EJB不是很了解,以上是错误信息,请指教
d:\bea\wlserver6.0\lib\weblogic.jar;d:\bea\utils\utils.jar设置到CLASSPATH里面2. 编译三个源文件(见附件),
myString.java
myStringEJB.java
myStringHome.java比如此3个源文件在d:\ambow下,
cd d:\ambow
javac my*.java生成3个类文件,
myString.class
myStringEJB.class
myStringHome.class3。在与三个class文件同级的目录下新建目录META-INF,即d:\ambow\META-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.jar6。 使用weblogic的Ejbc命令生成相关代理类
在d:\运行
java weblogic.ejbc ambow\myString.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:\bea\wlserver6.0\config\mydomain\applications\bbb\WEB-INF\classes下
修改mydomain\applications\bbb\WEB-INF下的web.xml;文件
增加如下语句
<servlet>
<servlet-name>InvocateEjb</servlet-name>
<servlet-class>InvEjb</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>InvocateEjb</servlet-name>
<url-pattern>/InvEjb/*</url-pattern>
</servlet-mapping>
9。 将myString.class和myStringHome.class拷贝到
D:\bea\wlserver6.0\config\mydomain\serverclasses目录下10。 保存相关文件后,启动Webloigic,访问如下地址http://127.0.0.1:7001/bbb/InvEjb
一篇文章参考,你可以把它改成自己的类文件。