我正在使用 JBoss 5 GA,我创建了一个测试会话 bean 和本地接口。我创建了一个 servlet 客户端。我尝试使用 @EJB 将接口注入到 servlet 中。
但是当我调用这个 servlet 时,我得到请求的资源不可用!!!!当我评论 //@EJB 时,页面运行成功,请帮忙???
约纳塔
我正在使用 JBoss 5 GA,我创建了一个测试会话 bean 和本地接口。我创建了一个 servlet 客户端。我尝试使用 @EJB 将接口注入到 servlet 中。
但是当我调用这个 servlet 时,我得到请求的资源不可用!!!!当我评论 //@EJB 时,页面运行成功,请帮忙???
约纳塔
在您的问题中添加一些代码会很有帮助,至少是 EJB 中的注释、本地接口(如果您对其进行了注释)和 servlet ......
尽管如此,根据JBoss EJB3 教程的第 11 章。Servlet中的EJB 注入简介,对于包含如下定义的 EJB3 SLSB 的 EJB 模块:
@Stateless(name="calculator")
@Remote(CalculatorRemote.class)
@Local(CalculatorLocal.class)
public class CalculatorBean implements CalculatorRemote, CalculatorLocal
{
...
本地接口可以通过这种方式注入到 Web 模块的 Servlet 中:
private CalculatorLocal calculator;
/**
* Injecting the EJB
*/
@EJB(name = "calculator")
public void setCalculator(CalculatorLocal calculator)
{
this.calculator = calculator;
}
本教程中有一个重要说明,我将其粘贴在下面:
要在 web 模块中进行注入,您的 web.xml 应该使用 2.5 版本的 web-app xsd:
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">