cgiからJavaアプリを実行させるには?

[上に] [前に] [次に]
ぷりん [E-Mail] 2000/02/03(木) 01:30:14
CGIやり始めてまもないのでよくわかってないんですすいません。

今、HP上でCGIとJAVAを使って画像処理をしようと思ってるんですけど、簡単に言えば、
「JAVAのApplicationをサーバーにおいといて、
HP上からCGIを使ってApplicationで画像を処理させよう。」
ということなんですけど。
そのなかで、CGIのプログラムのJava Applicationの実行ファイルの指定の仕方がわからないんです。
 簡単なのかもしれませんが、もしよかったら教えて頂けませんか?
お願いします。

B-Cus 2000/02/03(木) 01:51:43
  java クラス名
です。

  javac hoge.java
でコンパイル。
  java hoge
で実行。

…質問の意図を取り違えてる?

B-Cus 2000/02/03(木) 01:55:14
ところで、apache で hoge.cgi にアクセスすると
java hoge が実行されるようにするにはどうすれば
いいですか? wrapper を書かなきゃいけない?

# …ってことだったのかな。

ぷりん 2000/02/03(木) 02:07:53
度々すいません。
<form action="java v2" method="$method"  width="500" height="250">
<input type=submit value="フィルタ">
でやってみたんですが、
このファイルにはPOSTメソッドが使えません。ファイル名:/~jtest/cgi-bin/java v2
とエラーがでました。
もしよかったら、また教えて頂けませんか?お願いします。

ぷりん 2000/02/03(木) 03:04:22
本当にすいません。
B-Cusさんありがとうございます。
たぶんあってると思うのですが、
ファイル名を指定しても上のようになりました。
超初心者なものでちゃんと理解してないので、
また教えていただけませんか?よろしくおねがいします。

B-Cus 2000/02/03(木) 04:55:01
そのJava アプリケーションは、環境変数を読んだり、
標準入力を読んだりして、最終的に
 Content-type: .....
  ....
という出力をするんですよね? (CGI なんだからそうなんですよね?)


ならば、v2.cgi というファイルに
   #!/bin/sh
   exec /usr/local/bin/java v2 <& 0
と書いて、実行権限を付けておけばいいでしょう。<& 0 は
標準入力を受け渡しています (POST のときに必要です)。
java のパスは調べてね。

ちなみに、こういう一枚皮をかぶせるようなものを
wrapper (包む物) と言います。


# 大外ししてるような気がしてきた。

sekita 2000/02/03(木) 10:22:45
><form action="java v2" method="$method"  width="500" height="250">
><input type=submit value="フィルタ">

を見るとアプレットとアプリケーションを混同されているように見えますが
そんなことはないでしょうか?
formタグにheightやwidthを指定しても意味がないはずです。
また一般のプロバイダでJAVAアプリケーションが動くというのは
聞いたことがありません。
アプレットであるならばformではなくappletタグで指定すれば
表示されると思います。
もしサーバが自分で所有しているものであるのならば
最近apcheでもjavaサーバを公開しているのでそれを使用すれば
サーバ側でjavaアプリケーションを動かすことができるはずです。

ぷりん 2000/02/03(木) 16:39:57
[[解決]]
 皆様書き込みありがとうございました。皆様のおかげで、HPは完成しました(一部変更はありましたが)。
 私のHPを皆様に公開することは出来ません(学校内だけしか見れない...)。これから皆様に頼ることがあるかも知れませんが、またその時はよろしくお願いします。
 B-Cus様、sekita様、本当にありがとうございました。
 結局、データの書き換えとJAVAサーブレットへの変更で事がすみました。本当にありがとうございました。

[上に] [前に] [次に]