jsp中产生错误的代码如下:
Properties props = System.getProperties();
javax.naming.Context ctx = new javax.naming.InitialContext(props);
Gako2Home home = (Gako2Home) ctx.lookup("Gako2Home"); 就在第3行产生错误.该jsp编译后的java文件如下:
java.util.Properties properties = System.getProperties();
InitialContext initialcontext = new InitialContext(properties);
Gako2Home gako2home = (Gako2Home)initialcontext.lookup("Gako2Home");我朋友的机器,编译产生部署ejb都是成功的.关键到从环境属性中读取home时就错了,实在不明白问题在哪里.明知道是配置的问题,但是到底是哪儿配置的不一样呢?
除了朋友的机器是win2k是装在d盘,而我的win2k是装在c盘这个不同外,并无其他不同.不过也许有,但是我不知道而已.请诸位大侠指点江山.
Properties props = System.getProperties();
javax.naming.Context ctx = new javax.naming.InitialContext(props);
Gako2Home home = (Gako2Home) ctx.lookup("Gako2Home"); 就在第3行产生错误.该jsp编译后的java文件如下:
java.util.Properties properties = System.getProperties();
InitialContext initialcontext = new InitialContext(properties);
Gako2Home gako2home = (Gako2Home)initialcontext.lookup("Gako2Home");我朋友的机器,编译产生部署ejb都是成功的.关键到从环境属性中读取home时就错了,实在不明白问题在哪里.明知道是配置的问题,但是到底是哪儿配置的不一样呢?
除了朋友的机器是win2k是装在d盘,而我的win2k是装在c盘这个不同外,并无其他不同.不过也许有,但是我不知道而已.请诸位大侠指点江山.
<?xml version="1.0"?><!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN' 'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'><ejb-jar>
<enterprise-beans>
<entity>
<ejb-name>Gako2Home</ejb-name>
<home>cn.com.food.entity.gako2.Gako2Home</home>
<remote>cn.com.food.entity.gako2.Gako2</remote>
<ejb-class>cn.com.food.entity.gako2.Gako2EJB</ejb-class>
<persistence-type>Bean</persistence-type>
<prim-key-class>cn.com.food.entity.gako2.Gako2PK</prim-key-class>
<reentrant>False</reentrant>
</entity>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>Gako2Home</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
你该把使用ejbc编译过的jar解开放到weblogic的class路径下做client的调用文件。
分布式调用客户端需要stub和impl等等文件
然后就能正确调用.与他的机器不相关.没有分布式调用.
仔细对对.
从你的ejb-jar.xml 中可以看出,EJB Bean的名字叫做Gako2Home,它的Home类名字也叫Gako2Home,似乎有点奇怪,是不这个<ejb-name>中应该是与<ejb-class>名字相同,叫Gako2EJB会正常一点,符合正常的命名习惯吧。