3

Netbeans で学校用の小さな webshop アプリケーションを作成しています。ローカル セッション Bean とリモート セッション Bean とともに、EJB モジュールに Customer エンティティ クラスがあります。

次に、もちろんリモート セッション Bean を呼び出すことができる独立した Web アプリケーションがあります。

アプリケーションからリモート セッション Bean のメソッドを呼び出して、すべての顧客を取得できます。しかし、セッション Bean は何を返す必要があるのでしょうか。

  • 顧客のリストを返すことはできますが、私のアプリケーションは顧客クラスを認識していません。アプリケーションに ejb モジュールの jar を追加する必要がありますか?
  • 顧客のすべての情報を含むリストのリストを返すことはできますが、これはあまり良くありません。
  • ここで、Web アプリケーションに Customer インターフェイスがあることについて読んだことがありますが、これがどのように機能するのかわかりません。
  • エンタープライズ アプリケーションを作成し、ejb モジュールの jar と Web アプリケーションの戦争の両方を追加することは役に立ちますか?

最良の選択は何ですか?

(ああ、私はウィケットをフレームワークとして使用しています。それがこれに関係している場合)

編集:

だから私のセットアップは次のようなものです:

  • エンティティークラスとリモート Bean のインターフェースを含むライブラリー
  • リモート Bean とエンティティークラスのファサードを含む ejb モジュール。上記のライブラリーも持っています。
  • Web アプリケーション: ライブラリもある
  • ejb-jar と war を含むエンタープライズ アプリケーション。

しかし、それは機能していません。耳を展開すると、次のエラーが発生します。

Error in annotation processing: java.lang.NoClassDefFoundError: shop2/database/customer/CustomerBeanRemote

永続化ファイルをどこに置くべきかわかりません。今は ejb モジュールにあります。しかし、これは実際には問題ではないと思います。

プロジェクトの作り方を教えていただけませんか。EJB と Java EE を扱うのは初めてです。

ありがとう!

4

1 に答える 1

1

すべてのエンティティとインターフェースを含むクライアント プロジェクトを作成し、このプロジェクトを EJB モジュールと Web プロジェクトで使用する必要があります。

この場合、リモート インターフェイスを使用して顧客のリストを Web プロジェクトに返すことができます。

もちろん、ejb プロジェクトとクライアント プロジェクトを ear プロジェクトにデプロイする必要があります。

于 2013-06-06T04:42:01.480 に答える