- PR -

JSPでAppletを使用する際のAppletクラスファイルの配置場所、及びcodebaseの指定について。

投稿者投稿内容
忍者鳥取県
ベテラン
会議室デビュー日: 2003/08/28
投稿数: 61
お住まい・勤務地: リオネジャネイロの地下6000Km
投稿日時: 2003-09-18 12:05
―――――――――――――――――――――――――――――――――――
【開発環境】
統合開発環境:Eclipse2.0.2
JDK: j2sdk1.4.1_03
フレームワーク: Struts1.1rc1(MVC形式)
Webサーバ: Apache1.3.28
サーブレットコンテナ: Tomcat4.0.6
DBサーバ: MiracleLinux2.1
DB: Oracle9i
接続プール:javax.sql.DataSourceを利用
―――――――――――――――――――――――――――――――――――

現在上記のような環境で開発を行っています。
表題の件で質問なのですが、JSP上でAppletを使用するために

<jsp:plugin type="applet"
codebase="/kensakusystem/WEB-INF/classes/kensakusystem/"
code="DrawLine.class">
</jsp:plugin>

といった感じでタグアクションを記述し実行させるとアプレットは実行されず、
JAVAコンソールを見ると下記のような例外が発生していました。

***********************************************************************
java.lang.ClassNotFoundException: DrawLine.class
at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:153)
at sun.plugin.security.PluginClassLoader.findClass          
    (PluginClassLoader.java:168)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:114)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:506)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:567)
at sun.plugin.AppletViewer.createApplet(AppletViewer.java:1778)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:496)
at sun.applet.AppletPanel.run(AppletPanel.java:293)
at java.lang.Thread.run(Thread.java:536)

Caused by: java.io.IOException: open HTTP connection failed.
at sun.applet.AppletClassLoader.getBytes(AppletClassLoader.java:252)
at sun.applet.AppletClassLoader.access$100(AppletClassLoader.java:42)
at sun.applet.AppletClassLoader$1.run(AppletClassLoader.java:143)
at java.security.AccessController.doPrivileged(Native Method)
at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:140)
... 10 more

***********************************************************************
ようするにアプレットのクラスファイルが見つからなかったことが
原因だと思うのですが、ちゃんとcodebaseに指定したディレクトリに
指定したクラスファイルがあることを確認できています。

どなたか原因がお分かりの方いらしましたら、アドバイス頂きたいのですが
どうぞ宜しくお願いします。m(_ _)mペコリンコ



taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-09-18 13:12
引用:

忍者鳥取県さんの書き込み (2003-09-18 12:05) より:
表題の件で質問なのですが、JSP上でAppletを使用するために

<jsp:plugin type="applet"
codebase="/kensakusystem/WEB-INF/classes/kensakusystem/"
code="DrawLine.class">
</jsp:plugin>

といった感じでタグアクションを記述し実行させるとアプレットは実行されず、
JAVAコンソールを見ると下記のような例外が発生していました。


 ”kensakusystem/WEB-INF/classes/kensakusystem/”は、
クライアントからは見えませんよ・・・。(^^;
これが直接見えちゃったらやばいですよ。
Appletを置く場所はJSPやHTMLと同じレベルです。
当然ですがcodebaseもWEB-INF以下は指定できません。
忍者鳥取県
ベテラン
会議室デビュー日: 2003/08/28
投稿数: 61
お住まい・勤務地: リオネジャネイロの地下6000Km
投稿日時: 2003-09-18 14:08
引用:

takuさんの書き込み (2003-09-18 13:12) より:
 ”kensakusystem/WEB-INF/classes/kensakusystem/”は、
クライアントからは見えませんよ・・・。(^^;
これが直接見えちゃったらやばいですよ。
Appletを置く場所はJSPやHTMLと同じレベルです。
当然ですがcodebaseもWEB-INF以下は指定できません。


ご返事ありがとうございます。
takuさんのおっしゃった通り、JSPと同レベルにクラスファイルを置いたら
アプレットを読み込ませることができました。ありがとうございます。
 しかし、ここで新たな疑問が湧いてくるのですが、
通常私の開発環境(Eclipse)に限らず、Webアプリケーションのソースを
ビルドするとWEB-INF/classes/ にclassファイルが格納されますよね?
その場合、ビルドした後にわざわざJSPのファイルと同等の場所まで
もって行かなければいけないのでしょうか?

 他の方はどのようにしてアプレットのclassファイルを配置しているのか、
また参考までに、使用している統合開発環境も宜しければ教えてください。
宜しくお願いします。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-09-18 14:37
引用:

忍者鳥取県さんの書き込み (2003-09-18 14:08) より:
通常私の開発環境(Eclipse)に限らず、Webアプリケーションのソースを
ビルドするとWEB-INF/classes/ にclassファイルが格納されますよね?
その場合、ビルドした後にわざわざJSPのファイルと同等の場所まで
もって行かなければいけないのでしょうか?


 なんで、J2SEとJ2EEを同一視するんですか?
ニシトミ
ベテラン
会議室デビュー日: 2003/04/24
投稿数: 76
お住まい・勤務地: 千葉・東京
投稿日時: 2003-09-18 15:58
こんにちはニシトミです。

eclipseをお使いなら、jsp配下にappletを配置するディレクトリを作成して、
プロジェクトのプロパティの
Javaのビルドパス設定で
作成したappletのフォルダーを追加してみてはどうでしょう

多分これでいけるはずです。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2003-09-18 16:18
引用:

忍者鳥取県さんの書き込み (2003-09-18 14:08) より:
 しかし、ここで新たな疑問が湧いてくるのですが、
通常私の開発環境(Eclipse)に限らず、Webアプリケーションのソースを
ビルドするとWEB-INF/classes/ にclassファイルが格納されますよね?
その場合、ビルドした後にわざわざJSPのファイルと同等の場所まで
もって行かなければいけないのでしょうか?



サーバから見たらアプレットはHTMLファイルと同じくコンテンツの一つだからです。
Wata
ぬし
会議室デビュー日: 2003/05/17
投稿数: 279
投稿日時: 2003-09-18 18:43
引用:

忍者鳥取県さんの書き込み (2003-09-18 14:08) より:
ビルドした後にわざわざJSPのファイルと同等の場所まで
もって行かなければいけないのでしょうか?

 他の方はどのようにしてアプレットのclassファイルを配置しているのか、
また参考までに、使用している統合開発環境も宜しければ教えてください。
宜しくお願いします。


こういったビルドや配置、jarやwarの作成などの細々とした仕事は
antでまとめてやってしまうのが一番だと思いますよ。
忍者鳥取県
ベテラン
会議室デビュー日: 2003/08/28
投稿数: 61
お住まい・勤務地: リオネジャネイロの地下6000Km
投稿日時: 2003-09-19 09:23
引用:

takuさんの書き込み (2003-09-18 14:37) より:
 なんで、J2SEとJ2EEを同一視するんですか?


わたしの業界経験が浅いためか、takuさんのおっしゃってくださっている
アドバイスの意味を理解できません。。。
もう少し、こうだからこうなるみたい的な説明頂けると、私みたいな
若輩ものには助かるんですが・・・・(・_・; )
同一視とは、、、!?
うーむ・・・なんでって言われましても・・・。

スキルアップ/キャリアアップ(JOB@IT)