- ベストアンサー
HTMLからJava
HTMLのFORMタグから送信した情報を サーブレットを使わずローカルでJavaアプリに渡して 、処理内容を分けることは可能でしょうか? javaでFORMの内容をどうやって受けとるのかわからない ので。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>その仕事自体なくなってしまいました。 お気の毒です。 しかし、解答が締め切られていないので、まだ質問が有効だと受け取っておきましょう。 質問を整理すると、 1.マシンAのブラウザ等で表示したHTMLのFORMに、情報を入力。 2.マシンBに向かって送信。 3.マシンBのJavaアプリケーションが起動。 4.メッセージを受信。 5.メッセージの内容に従った処理を実行。 ということだと思います。 「2.マシンBに向かって送信。」ではHTTPで送ることになると思います。 さて、「3.マシンBのJavaアプリケーションが起動。」が問題です。 マシンを通信させるには、呼ばれる側のマシンに、待機するするプログラムを 起動していなければなりません。 このようなプログラムは、「サーバー」と呼ばれます。 「WEBサーバー」「メールサーバー」「FTPサーバー」など全て、待機しています。 メッセージを受信した後に、どのようなことを行うかの違いで、待機していることには かわりありません。 つまり、マシンBにサーバーを置くことは必須条件となります。 要するに、マシンBをいわゆるサーバーにするということです。 また、受信側のプログラムを起動するなら、 ・J2EE ・CGI ・ASP ・PHP などがありますが、サーブレットを使わないということなら、CGI等を 使うことも考えられます。 既存のものを使いたくないということでしたら、サーバー自体を作る必要がでてきます。
その他の回答 (2)
- ngsvx
- ベストアンサー率49% (157/315)
質問が少し曖昧なので、補足要求をします。 1.フォームで送信するマシンと、Javaアプリケーションのあるマシンは 同一のマシンですか? 2.「サーブレットを使わずに」というのは、サーブレットを使わなければ、 何をしてもいいのでしょうか? 3.「処理内容を分けることは可能でしょうか?」はどういう意味でしょうか?
- lively-gon
- ベストアンサー率50% (48/96)
こんにちは formの内容を一度jspかサーブレットで受け取って, Javaアプリケーションに引き数として渡すという方法で実現できませんか? Runtime.getRuntime().exec()を使います.
お礼
早速回答していただいてありがとうございます。 サーブレットで受け取らずに、直接publicクラスの mainメソッドの引数にFORMの内容を受け取れたり しないのかなと思っていたのです。 それでFORMから受け取った情報でjavaアプリの中 でFORMの入力情報に応じた処理を行う、という流れ をイメージしていました。 本来サーブレット無しが条件だったのですが、 実はサーブレットを使わないと言う条件事態守る必要 がなくなってしまいまして、というか仕事事態流れて しまったので、回答いただいた皆さんには 大変申し訳ありません。 どうもありがとうございました。
お礼
回答ありがとうございます。 フォームで送信するマシンと、Javaアプリケーション のあるマシンは別でいこうと考えていました。 サーブレットを使わずに、JavaとHTMLだけでできない かと考えていました。 処理内容をわける、というのはFORMで入力した ファイル名のファイルをサーバーから取得して 指定の形式(PDFやCSVなど)で印刷する、といった ようなことなんですが、 No.1の方のお礼に書いたようなものを想定していた のですが、その仕事自体なくなってしまいました。