• 締切済み

CGIで呼び出したスクリプトでJAVAは動く?

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

  • choei
  • お礼率63% (286/451)
  • CGI
  • 回答数3
  • ありがとう数0

みんなの回答

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.3

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

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

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

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

できるはずですよ。 (ちょっと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>

choei
質問者

補足

うまく説明できなくてすみません。 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でソースを書き出しても動かないのでしょうか。

関連するQ&A

  • よくJAVAスクリプトを別ファイルから操るという表現を聞きますが、、、、

    よくJAVAスクリプトを別ファイルから操るという表現を聞きますが、、、、そこで、<script language="JavaScript"><!-- 以下の、いわゆる、JAVAのタグ部分のみ、別のファイル(水色のIEのファイルに保存)し、本体ページのファイルのHTMLソースの記述から、このJAVAの部分(先ほどの別ファイルに抜き出した部分のタグ)を除いて保存しました、そして、これらの、ファイルを両方とも、同一の、フォルダに保存して、本体ページのファイルを開いたところ、JAVAが作動しませんでした。 つまり、JAVAスクリプトを別ファイルから操るという、この意味はこんな単純な行為を指していうのではないのでしょうか?また、この、目的は、ページの読み込み速度を早くする効果があるということでしょうか?(ページが軽くなる為)、また、これを、一度で、解決するようなタグはJAVAにあるのでしょうか?(一発配置で、、、)すいません、変な質問でお許しください。

  • JavaとJavaスクリプトの違い

    JAVAの通信教育を受けるのですが、 JAVAとJAVAスクリプトは同じものだと思ってました。 画像や文字をスクロールさせたりするソースが、 JAVAだと思ってました。 JAVAとJAVAスクリプトの違い、JAVAとは何か分かり易く教えてください。

    • ベストアンサー
    • Java
  • ブログ上で複数のjavaスクリプトから2つのjavaスクリプトをランダムに表示させたい

    ブログ上に、複数のjavaスクリプトからランダムに2つのjavaスクリプトを選んで表示させたいのですが、コードがわからないので教えていただきたいです。選ばれた二つは被らないようにしたいです。 使用したいjavaスクリプトのコードは <script type="text/javascript" charset="euc-jp" src="○○1"></script> <script type="text/javascript" charset="euc-jp" src="○○2"></script> <script type="text/javascript" charset="euc-jp" src="○○3"></script> のようになっています。 javaを使って画像や文字をランダムに表示する方法はあったので応用しようとしたのですがうまくいきませんでした。 よろしくお願いします。

  • POSTメソッドで取得したデータをシェルスクリプトCGI経由でJava

    POSTメソッドで取得したデータをシェルスクリプトCGI経由でJava実行時の引数に渡す方法 HTML中級、Java、Unix系のシェルスクリプトに関して初級程度の知識があります。 Javaで書かれたプログラムを用いた、ブラウザ上で動作する CGIによるサーバサイド・アプリケーションを作ろうとしています。  http://d.hatena.ne.jp/shin/20090118/p1  http://d.hatena.ne.jp/Bayside/20050915  http://www.cs.adfa.edu.au/~gfreeman/CGIRequest.html 等のサイトを参考に、シェルスクリプトを用いたCGIを経由して サーバ上でJavaを実行し、その出力結果(シェルのechoやJavaのSystem.out.printlnによる) をHTMLとして受け取り、ブラウザ上で表示する所までうまくいきました。 上記のCGIに宛てて、別のHTML上の入力フォームからPOSTメソッドで文字列のデータを送信し、 その値をJavaに引数として渡してやりたいと考えています。  http://ameblo.jp/new3bon/entry-10210338319.html  http://waitwg.org/~pc-qa/?CMD=DCNT&CID=8 等から、POSTで送られたデータはシェルスクリプト上の標準入力に格納されると分かり、 #!/bin/bash echo cat cat >> ./ttt.txt URLエンコードされたパラメータを上記コードで表示させることまではできました。 また、コマンドラインからJavaを実行する際の引数は  http://www.02.246.ne.jp/~torutk/javahow2/commandline.html Java側のmainメソッドの引数として受け取れることは分かりました。 これらの方法を組み合わせて、CGIとしてJavaプログラムが実行される際に HTML上のフォームからPOSTメソッドで送信されたデータを渡してやりたいと考えています。 その際、シェルの標準入力に与えられたデータをシェルの変数に格納してやるか、  http://www.atmarkit.co.jp/flinux/rensai/shell03/shellstio.html に示されている標準入出力のすり替えを用いる等の方法ができないかと考えているのですが、 シェルスクリプトやJava上のどの段階で、どのようなコードを書けばいいのか分からずにいます。 (下記コードでは、各種パスを通す際に標準入出力の中身が書き換えられる前らしいと見当はついているのですが……) 複数の要素が込み入って複雑なことになっていますが、 解決方法をご存知の方がおられましたら、ご教唆のほど願います。 下に書きかけのシェルスクリプトのコードを書いておきます。 #!/bin/sh JAVA_HOME=/usr/java/jdk1.6.0_20 PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/mysql-connector-java-5.1.12-bin.jar export JAVA_HOME PATH CLASSPATH /usr/java/jdk1.6.0_20/bin/java \  (中略) Main

  • このスクリプトを説明してください

    以下のようなタグがあります。 (1) <script src="http://***.***.ne.jp/cgi-bin/feed.cgi?free" language="JavaScript"></script> これはどういうことなのか、教えてください。 今まで、 (2) <script language="JavaScript" src="abc.js"></script> のように外部ジャバスクリプトを呼び出すタグは使ったことがありますが、ジャバスクリプトで(1)のようにCGIを呼び出せるということなのでしょうか? また、(1)のfeed.cgiのあとにある、free というのは、どういうことなのでしょうか?無料とかではなく、実際にあるファイルは、feed.cgiという名前で終わっているはずですが、free という名前はその cgi の中にあるというところでしょうか?

  • Javaってソフトがいりますか?

    言語を新しく勉強するのはJavaがいいってどこかに書いてたような気がしたんで聞きたいんですが(ここのHPで)、Javaをやろうとおもったらあらたにソフトがいるんですか? なんかJavaはどこでも出来るのが売りとか聞いたような気がしますが! それとJavaとJavascriptは全然違うのですか? HPによくでてくるScript Language="Javascript"っていうのはJavaのことですか?

  • 覚えるのはJavaスクリプトでいいんでしょうか?(カンタンですか?)

    最近独学でHTMLとCSSを覚えて、はじめて自分のHPを公開しました。イラスト等描くのが好きなのですが、画像のスライドショーのページの作り方はわからなかったので、外部のサイトからサンプルをお借りして作りました。サンプルソースを見ると、「Javascript」という言葉が何度も出てきているし、「JAVAスクリプトを使えばゲーム的なものを作りやすいようだ・・」という風に漠然と理解したので、javaスクリプトを覚えようと思うんですが、 他にもプログラムって色々あるじゃないですか?HTMLとCSSを覚えたら、次に覚えるべきなのは何でしょうか? 具体的にやりたい事⇒ランダムで別のページに飛ばしたり、ダンジョンRPG風、またはシナリオ分岐を作ったりして、ゲームっぽいものを作ってみたいです。あとは、画像のスライドショーなどを自分で工夫して(ソースを)書けるようになりたいです。

  • Mac版IEでJava Scriptが突然動かなくなりました。

    インストールしてある全てのバージョンのIEでJava Scriptが動かなくなりました。 ・Java Scriptが記述されているファイルをIE読み込んでもJava Script部分が無視されます。 ・[初期設定]の「スクリプトを有効にする」にもチェックは入っております。  (「スクリプトを有効にする」のチェックを外すとhtmlの<no script>タグには反応します) ・[初期設定]の「セキュリティーゾーン」はすべて「低」になっています。 ・Java、プラグイン、CSS等は正常に動作します。 ・再起動・IEの再インストール・IE初期設定ファイルの消去・PRAMのクリアをしても元にもどりません。 ・同じマシンにインストールしてあるNNではJava Scriptは問題なく動作します。 ・ちなみにOSは9.0.4です。 どなたか原因や直し方をご存じの方がいらっしゃいましたらご教授くださいまし。

    • 締切済み
    • Mac
  • CGIに渡しているパラメータを表示させたくない

    現在 xxx.cgi?para1=aaa&para2=bbb といったようにパラメータを渡して動いているCGIがあります。 このCGIの変更は無理な状況で(仕様変更にお金がかかるので...) 渡しているパラメータを隠したいと思っています。 とりあえず考えたのがもうひとつ別のCGIを作って そこでJava Scriptで本来のURLに飛ばす処理でしたが、 JavaScriptを無効にされたり、リンク先を保存されたりしたらわかってしまいます。 何かいいアイデアはないでしょうか?

    • ベストアンサー
    • CGI
  • このjavaスクリプトをjavaアプレットで表現するには

    http://bunjin.com/java/hanabi_samp.html http://bunjin.com/java/hanabi.html (ソース) この花火のjava scriptを、クリックしたところで表示されるようなjavaアプレットにしたいのですが、どう記述すれば良いのでしょうか? java scriptが読めないのでわかりません…。 どなたか分かる方お願いします。

専門家に質問してみよう