- PR -

アプレットによるリモートサーバーからのファイルの取得

投稿者投稿内容
Face
常連さん
会議室デビュー日: 2003/06/22
投稿数: 43
投稿日時: 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();
でリモートファイルを開くのだと助言をいただき
ローカルサーバーではうまくいったのですが
ローカル以外のサーバーではうまくいきませんでした。

なんらかのアクセス制限などがアプレットではあるのでしょうか?
是非助言の方をお願いいたします。

Face
常連さん
会議室デビュー日: 2003/06/22
投稿数: 43
投稿日時: 2003-12-18 01:40
追伸:開こうとしているファイル(Sample.xml)の
   アクセス権限は644でした。
   よろしくお願いいたします。
Astmild
常連さん
会議室デビュー日: 2003/06/09
投稿数: 30
お住まい・勤務地: 大田区
投稿日時: 2003-12-18 11:33
ファイルを読み込むには、アプレットのセキュリティを
解除する必要があった気がします。
http://sunsite.tus.ac.jp/java/javaj/jtutorial/applet/security/security.html
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2003-12-18 13:06
引用:

Astmildさんの書き込み (2003-12-18 11:33) より:
ファイルを読み込むには、アプレットのセキュリティを
解除する必要があった気がします。
http://sunsite.tus.ac.jp/java/javaj/jtutorial/applet/security/security.html


 それはローカルのファイルの場合又は別サーバー上のファイルの場合ですね。
アプレットがダウンロードされた同一サーバー上のファイルでしたら問題ありません。

Faceさんへ
 うまくいかないでは誰にも解りませんので、
例外発生時に表示されるエラーメッセージ等状況証拠を提示するようにしてください。
Astmild
常連さん
会議室デビュー日: 2003/06/09
投稿数: 30
お住まい・勤務地: 大田区
投稿日時: 2003-12-18 14:08
引用:
takuさんの書き込み (2003-12-18 13:06) より:
 それはローカルのファイルの場合又は別サーバー上のファイルの場合ですね。
アプレットがダウンロードされた同一サーバー上のファイルでしたら問題ありません。

あう、失礼しました。

では気を取り直して。
>4、Applet notinited という表示がブラウザのステータスバーに出ています。
notinited という単語は辞書にないのですが、not/init/ed と分解できそうです。
アプレットにアクセスできているかどうか、初期化が正常終了しているかどうか、
別のブラウザでは動くのか、のあたりを確認してみてください。
Face
常連さん
会議室デビュー日: 2003/06/22
投稿数: 43
投稿日時: 2003-12-18 15:40
Astmildさん、takuさん、ご返答ありがとうございます。
現在も原因を探しておりますがまだ解決できません。
ご返答のなかでいただいたアドバイスについてお答えさせて
いただきます。

引用:

Faceさんへ
 うまくいかないでは誰にも解りませんので、
例外発生時に表示されるエラーメッセージ等状況証拠を提示するようにしてください。



例外発生時のエラーに関してですが、Javaコンソールの方で確認
していますが何も表示されていない状態です。
しかしこれは最初の書き込みで書かせていただいたように
ローカルサーバーでの状態です。
ローカルサーバーではApachの2.0.45を利用しています。
この場合ではまったく問題なく動作しています。

まだJavaを学習しはじめたばかりで、リモートサーバー
でのアプレットのエラーをどのようにして確認すればよいのか
わからない状態です。
リモートサーバーに置いたアプレットのエラー
確認方法を調べ、確認でき次第また書き込ませていただきます。

引用:

>4、Applet notinited という表示がブラウザのステータスバーに出ています。
notinited という単語は辞書にないのですが、not/init/ed と分解できそうです。
アプレットにアクセスできているかどうか、初期化が正常終了しているかどうか、
別のブラウザでは動くのか、のあたりを確認してみてください。



ローカルサーバーではうまく動作しているのですが
リモートサーバーでの初期化が正常終了しているのかを
確認する方法がわからない状態です。
もう一度この方法を調べ、結果を確認できましたら
かきこませていただきます。
syo
常連さん
会議室デビュー日: 2003/08/17
投稿数: 43
投稿日時: 2003-12-18 22:52
お世話になっております。

引用:

Faceさんの書き込み (2003-12-18 01:37) より:
4、Applet notinited という表示がブラウザのステータスバーに出ています。



JDK1.2.2のPlug-inを使用したときの話ですが、
実行に必要となるclassファイルが読み込み対象となるjarファイルに
含まれていない場合に上記のメッセージが表示されました。

ローカルサーバーの場合は動いているとのことなので、
この可能性は低いとは思いますし、JDKのバージョンも違いますが、
一応ご参考までに・・・。
Face
常連さん
会議室デビュー日: 2003/06/22
投稿数: 43
投稿日時: 2003-12-19 00:25
syoさん、ありがとうございます。

もう一度jarファイルの中身を確認しましたが
実行に必要なファイルは含まれていました。
もう少しいろいろと調査してみます。

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