当前位置: 技术问答>java相关
Weblogic中Ejb调用的问题。
来源: 互联网 发布时间:2015-04-16
本文导语: 我写了个已成功部署到Weblogic中。 我有写了一个servlet要调用这些bean. 代码大致这样: InitialContext ic = new InitialContext(); Object o = ic.lookup("Userinfo"); UserinfoHome uih=(UserinfoHome)PortableRemoteObject.narrow(o,UserinfoHome.class); Userin...
我写了个已成功部署到Weblogic中。
我有写了一个servlet要调用这些bean.
代码大致这样:
InitialContext ic = new InitialContext();
Object o = ic.lookup("Userinfo");
UserinfoHome uih=(UserinfoHome)PortableRemoteObject.narrow(o,UserinfoHome.class);
Userinfo ui = uih.findByPrimaryKey("002");
out.println("
运行时,系统说在类路径找不到UserinfoHome、Userinfo。
如果我把Ejb的class文件拷贝到servlet相应的classes目录下,程序运行正常。
这就是说:servlet没找到class。
但是Ejb已经成功部署它应该在classpath中,为什么会有这种情况?
一般要在servlet调用Ejb正规的做法是怎样的?
我有写了一个servlet要调用这些bean.
代码大致这样:
InitialContext ic = new InitialContext();
Object o = ic.lookup("Userinfo");
UserinfoHome uih=(UserinfoHome)PortableRemoteObject.narrow(o,UserinfoHome.class);
Userinfo ui = uih.findByPrimaryKey("002");
out.println("
Username:"+ui.getName()+",Password:"+ui.getPassword()+"
");运行时,系统说在类路径找不到UserinfoHome、Userinfo。
如果我把Ejb的class文件拷贝到servlet相应的classes目录下,程序运行正常。
这就是说:servlet没找到class。
但是Ejb已经成功部署它应该在classpath中,为什么会有这种情况?
一般要在servlet调用Ejb正规的做法是怎样的?
|
部署只是给你Ejb起了一个别名,他还是要在你的机器
上的CLASSPATH中去寻找这个类的,应该是你没有把类
所在的路径加到classspath中去
上的CLASSPATH中去寻找这个类的,应该是你没有把类
所在的路径加到classspath中去
|
你看看wl的稳当,
打包时应该将你的Home和Remote借口一起打到你的WAR中,
或者是防到你servlet所在的web-inf/classes目录下
打包时应该将你的Home和Remote借口一起打到你的WAR中,
或者是防到你servlet所在的web-inf/classes目录下