- - PR -
アプレットによるリモートサーバーからのファイルの取得
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-12-18 01:37
お忙しい中目を通していただいてありがとうございます。
現在、アプレットをレンタルサーバー上に配置し、その アプレットがある場所と同一の場所にあるファイルを そのアプレットから開こうとしているのですが上手くいきません。 よろしければ助言の方をいただけないでしょうか。 よろしくお願いいたします。 (状態)--------------------------------------------------- 1、フォルダの階層(一つのフォルダにすべて入っています) 【フォルダ】 | --Applet.class | --Viewer.jar | --Applet.classを呼び出すHTMLファイル | --sample.xml(取得したいファイル) 2、ローカルのサーバーではうまく動作しています。 3、ローカルのサーバーと、レンタルサーバーの環境は同じです。 4、Applet notinited という表示がブラウザのステータスバーに出ています。 (詳細)--------------------------------------------------- 1、アプレットが呼び出すJavaのファイル:Viewer.jar 2、ファイルの内容 【HTMLがに記述されている内容】 <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="0" height="0" align="baseline" codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4_0-win.cab "> <PARAM NAME="file_name" VALUE="sample.xml"> <PARAM NAME="code" VALUE="Applet.class"> <PARAM NAME="archive" VALUE = "Viewer.jar" > <PARAM NAME="type" VALUE="application/x-java-applet;jpi-version=1.4"> No JDK 1.4 support for APPLET!! </OBJECT> 【HTMLが呼び出しているアプレットのファイル内容 Applet.class】 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.net.*; import java.io.*; public class Applet extends JApplet { //初期化 public void init() { try { URL url = new URL(getCodeBase(), getParameter("file_name")); InputStream fin = url.openConnection().getInputStream(); Viewer frame = new Viewer(fin); frame.setBounds( 20, 20, 0, 0); frame.pack(); frame.setVisible(true); }catch (Exception e) { e.printStackTrace(); } } //アプレットのスタート public void start() { } //アプレットの停止 public void stop() { } } 自身で調べた限りではアプレットはユーザーの方へ ダウンロードされてから動作するので ファイルを開くには上記のように URL url = new URL(getCodeBase(), getParameter("file_name")); InputStream fin = url.openConnection().getInputStream(); でリモートファイルを開くのだと助言をいただき ローカルサーバーではうまくいったのですが ローカル以外のサーバーではうまくいきませんでした。 なんらかのアクセス制限などがアプレットではあるのでしょうか? 是非助言の方をお願いいたします。 | ||||||||
|
投稿日時: 2003-12-18 01:40
追伸:開こうとしているファイル(Sample.xml)の
アクセス権限は644でした。 よろしくお願いいたします。 | ||||||||
|
投稿日時: 2003-12-18 11:33
ファイルを読み込むには、アプレットのセキュリティを
解除する必要があった気がします。 http://sunsite.tus.ac.jp/java/javaj/jtutorial/applet/security/security.html | ||||||||
|
投稿日時: 2003-12-18 13:06
それはローカルのファイルの場合又は別サーバー上のファイルの場合ですね。 アプレットがダウンロードされた同一サーバー上のファイルでしたら問題ありません。 Faceさんへ うまくいかないでは誰にも解りませんので、 例外発生時に表示されるエラーメッセージ等状況証拠を提示するようにしてください。 | ||||||||
|
投稿日時: 2003-12-18 14:08
では気を取り直して。 >4、Applet notinited という表示がブラウザのステータスバーに出ています。 notinited という単語は辞書にないのですが、not/init/ed と分解できそうです。 アプレットにアクセスできているかどうか、初期化が正常終了しているかどうか、 別のブラウザでは動くのか、のあたりを確認してみてください。 | ||||||||
|
投稿日時: 2003-12-18 15:40
Astmildさん、takuさん、ご返答ありがとうございます。
現在も原因を探しておりますがまだ解決できません。 ご返答のなかでいただいたアドバイスについてお答えさせて いただきます。
例外発生時のエラーに関してですが、Javaコンソールの方で確認 していますが何も表示されていない状態です。 しかしこれは最初の書き込みで書かせていただいたように ローカルサーバーでの状態です。 ローカルサーバーではApachの2.0.45を利用しています。 この場合ではまったく問題なく動作しています。 まだJavaを学習しはじめたばかりで、リモートサーバー でのアプレットのエラーをどのようにして確認すればよいのか わからない状態です。 リモートサーバーに置いたアプレットのエラー 確認方法を調べ、確認でき次第また書き込ませていただきます。
ローカルサーバーではうまく動作しているのですが リモートサーバーでの初期化が正常終了しているのかを 確認する方法がわからない状態です。 もう一度この方法を調べ、結果を確認できましたら かきこませていただきます。 | ||||||||
|
投稿日時: 2003-12-18 22:52
お世話になっております。
JDK1.2.2のPlug-inを使用したときの話ですが、 実行に必要となるclassファイルが読み込み対象となるjarファイルに 含まれていない場合に上記のメッセージが表示されました。 ローカルサーバーの場合は動いているとのことなので、 この可能性は低いとは思いますし、JDKのバージョンも違いますが、 一応ご参考までに・・・。 | ||||||||
|
投稿日時: 2003-12-19 00:25
syoさん、ありがとうございます。
もう一度jarファイルの中身を確認しましたが 実行に必要なファイルは含まれていました。 もう少しいろいろと調査してみます。 | ||||||||
