1

Java EE アプリケーションを作成しようとしています。基本はコントローラーとしてのEJBです。次に、データをJSF+ManagedBeansで表示したいと思います。問題はそこにある

javax.servlet.ServletException: 規格/SampleController

java.lang.NoClassDefFoundError: 規格/SampleController

コードは次のようになります。

マネージド Bean (動的 Web プロジェクト):WebView プロジェクト: StdSampleController.java:

import javax.ejb.EJB;

import standards.SampleController;

public class StdSampleController {

    @EJB private SampleController c;
    public String value;

    public StdSampleController() {
        c = new SampleController();
        value = c.getValue();
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}

EJB (EJB プロジェクト): WebController プロジェクト: standards.SampleController.java:

package standards;

import javax.ejb.Stateless;

/**
 * Session Bean implementation class SampleController
 */
@Stateless
public class SampleController implements SampleControllerRemote {

    private String value;

    public SampleController() {
        value = "EJB:SampleController bean";
    }

    public String getValue(){
        return value;
    }

}

このコードはすべてエンタープライズ アプリケーション プロジェクトにまとめられています。
GlassFish バージョン 3 と Eclipse 3.5.2 を使用しています。

4

2 に答える 2

2

実装ではなく、(リモート) インターフェースを使用して EJB を呼び出します。したがって、代わりに

@EJB private SampleController c;

あなたが必要

@EJB private SampleControllerRemote c;

それに応じてインポートを調整します。

于 2011-06-11T21:51:33.337 に答える