あなたの習慣について教えてください!!

やりたいことはJAVAスクリプトのパラメータを状況に合わせてCGIで生成してJAVAを実行させたいです。
いま、.shtmlファイルの一部をcgiで実行し、JAVAのパラメータの一部をCGIの実行結果から持ってきてファイルを完成させてみましたが、Javaは動いてくれません。
CGIからパラメータを持ってくるのではなく、普通にhtmlファイルの中にJavascriptのパラメータを全部記述してやれば動いてくれて、そのソースとCGIを絡めた場合のソースと比べましたが全く同じですが動きません。
これは何が原因なのでしょうか。
パラメータを全て記述すると膨大になるために、必要な部分だけの記述にしたくてCGIで選択できるようにしてみたのですが・・・
単なる何かソースの書き間違いでしょうか。(何度も見比べたのですが・・・)
それとも元々こんなことできないのでしょうか。

A 回答 (3件)

失礼しました。


#1の補足でSSIの展開もうまくいっていると書いてありましたね。
ちょっとわからないです。
    • good
    • 0

JAVAのほうはわからないのですが。


とりあえずCGIの実行とSSIの処理はうまくできているんでしょうか?
ブラウザのHTMLソース表示をして、param文がうまく展開されているかどうか確認してみてましたか?
SSI構文の処理はサーバが行うので、ブラウザでソース表示をした時にはSSI構文の部分がCGIの実行結果(param文)に置き換わっているはずです。
    • good
    • 0

できるはずですよ。


(ちょっとJAVAって用語があるけど、全てJavscriptですよね??)

CGIの言語がわからないけどPerlでのサンプル。
=== sample.cgi
#! ~ perlのパス
print <<OUTPUT;
Content-Type: application/x-javascript

abc = 'test';
OUTPUT
exit;

=== sample.html
<html><head>
<script type="text/javascript" src="sample.cgi"></script>
<script type="text/javascript">
alert(abc);//結果 test が表示される。
</script>

この回答への補足

うまく説明できなくてすみません。

htmlファイル上で.jarファイルを実行させたいのですが、
<applet id="■○" code="×△" archive="??.jar">
<param name=×× value=○○>
</applet>
としている部分の
<param name=×× value=○○>
が実際には600くらいになるので、状況に合わせて必要な<param>だけを書き出すため、SSIで<applet...>~</applet>の部分を
<!--#exec cmd="○□.cgi" -->
として呼び出してhtmlファイルに書き出しています。
このようなやり方をせずにそのままhtmlファイルにソースを記述した場合と比べて何の違いもないですし、SSIも他同様にやっていて作動しています。
でもJavaは動いてくれずjavaのエリアだけ確保され、そこにはXのようなマークがあるだけです。

コンソールを開いて確認してみましたが、以下のような記述がありました。
load: クラス ○△× が見つかりません。
java.lang.ClassNotFoundException: ○△×
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Stream closed.
at java.net.PlainSocketImpl.available(Unknown Source)
at java.net.SocketInputStream.available(Unknown Source)
at java.io.BufferedInputStream.available(Unknown Source)
at sun.net.www.MeteredStream.available(Unknown Source)
at sun.net.www.http.KeepAliveStream.close(Unknown Source)
at java.io.BufferedInputStream.close(Unknown Source)
at sun.applet.AppletClassLoader.getBytes(Unknown Source)
at sun.applet.AppletClassLoader.access$100(Unknown Source)
at sun.applet.AppletClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
... 10 more
やっぱりCGIでソースを書き出しても動かないのでしょうか。

補足日時:2007/09/05 15:30
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!