- - PR -
ServletExceptionについて
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-04-03 04:26
初めて書き込みします。頭脳パンです。
EJBを作成して、アプリケーションからEJBを呼ぶことは 出来たのですが、サーブレットからEJBを呼ぶとServletExceptionが 表示されて正しく実行されません。 詳細としては、 EJB(文字列を返すだけのSession Bean)を作成し、J2EEサーバにDeploy アプリケーションからDeployしたEJBが実行できることを確認。 そのあと、アプリケーションをBeansに改造し そのBeansを呼ぶサーブレットを作成。J2EEサーバにこのサーブレットとBeansをDeploy そして実行するとエラーになるといった具合です。 また、BeansのEJBを呼ぶ部分をコメントアウトするとServletExceptionは 表示されず、正しく実行できます。 原因が分かる方いらっしゃいますでしょうか。 環境は、J2SE 1.4.1,J2EE 1.3.1です。 | ||||
|
投稿日時: 2003-04-03 13:01
これだけではなんとも……。
ServletExceptionをcatchして、この例外の元になったエラーのスタックトレースを取得してみてください。
みたいな感じで。 | ||||
|
投稿日時: 2003-04-04 22:26
へげもんさん、ご返答ありがうございます。
解決したのでご報告します。 ServletExceptionは実は NoClassDefFoundExceptionが出ていました。 どうやらEJB呼び出し時に、ホームインタフェースのクラスが見つからなかったようです。 なので、EJBをDeployしたときに「クライアントJarを返します」で作成した JarファイルをWEB-INFフォルダ下にlibフォルダを作りそこにコピーしました。 (このJarファイルは、ホームインタフェース、リモートインタフェース、Beanクラス が入っているファイルです) この作業を行ったら実行できました。 ところで、このJarファイルへは環境変数CLASSPATHで設定しておいたのに 上記方法でないとできませんでした。 サーブレット等からEJBを呼び出す場合はどのようにするのが普通なのでしょうか。 | ||||
|
投稿日時: 2003-04-05 00:42
頭脳パンさんが自力で解決されたように、WEB-INF/libに置くのが良いと思います。 ちなみにTomcatの場合は、以下が参考になります(残念ながらJa-Jakartaにはまだ無かったので英語ですが)。CLASSPATHは参照されません。 http://jakarta.apache.org/tomcat/tomcat-4.1-doc/class-loader-howto.html | ||||
1
