java – servlet中的EJB注入失败
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – servlet中的EJB注入失败,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1920字,纯文字阅读大概需要3分钟。
内容图文
![java – servlet中的EJB注入失败](/upload/InfoBanner/zyjiaocheng/828/eebf38cb424b4b19928e00f8a434fd2a.jpg)
我试图将一个EJB无状态bean注入到一个servlet中,但是servlet会抛出一个NullPointerExcetion.我正在使用JBOSS来部署EJB和servlet.
我对Java世界比较陌生,所以我发布了我遵循的步骤.
接口
package MavenEJB.Bidding`
import javax.ejb.Local;
@Local
public interface PlaceBid {
public String AddBid();
}
豆
package MavenEJB.Bidding;
import javax.ejb.Stateless;
@Stateless(name="PlaceBid")
public class PlaceBidBean implements PlaceBid {
public PlaceBidBean(){}
/**
* Include logic to add the bid
*/
public String AddBid(){
return "Placed bid using EJB";
}
}
我使用maven创建了一个bean的jar文件,然后将jar文件复制到JBOSS的“deploy”目录中.我能够看到在JMX控制台中部署的bean.
JMX控制台中的全局JNDI命名空间
+- PlaceBid (class: org.jnp.interfaces.NamingContext)
| +- local (proxy: $Proxy63 implements interface MavenEJB.Bidding.PlaceBid,interface org.jboss.ejb3.JBossProxy)
我的servlet代码
public class PlaceBidServlet extends HttpServlet {
@EJB
private PlaceBid placeBid;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println("<HEAD><TITLE>Hello</TITLE></HEAD>");
out.println("<BODY>");
out.println("Output from EJB" +placeBid.AddBid());
//out.println("Output from EJB" );
out.println("</BODY></HTML>");
}
....
}
当我指向我的servlet的URL时,我得到NullPointerException.当我评论bean并打印其他东西时,它打印得很好.所以我确定问题在于servlet中的EJB依赖注入.
我尝试了许多解决方案,其他地方,没有真正有效,有人请帮助我.
最佳答案:
经过很长时间我发现了问题,我发布了它,以便其他人可以受益.
问题是,我使用的是JBOSS 4.2.3,因为这篇文章http://community.jboss.org/message/410211建议jboss 4.2.x不支持servlet中的EJB注入.
我使用了Jboss 5.1,如果servlet和EJB都不在单个ear包中,那么必须将mappedName用于EJB Injection.我把WAR中的servlet和EJB放在一个单独的Jar中.查看这篇文章了解更多详情http://community.jboss.org/message/8196#8196
内容总结
以上是互联网集市为您收集整理的java – servlet中的EJB注入失败全部内容,希望文章能够帮你解决java – servlet中的EJB注入失败所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。