- ベストアンサー
JavaからPHPへの値の受け渡し
失礼致します。 最近梅雨でじめじめしており嫌ですね。 よろしくお願いいたします。m(__)m お尋ねしたいことは上記のとおりです。 今Javaを使ってDB管理システムを作成しています。 が、もうすでに出来上がったPHPのDBシステムも存在するのです。違った機能を持たすため両方必要なのですが、両者間で値の共有をしたいです。作成中のシステムから現行のシステムへデータを送るにはどのようにすればいいのでしょうか? 以上、簡単ではございますがよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
最近、PHPの案件ばかりが続き、すっかりJavaから疎遠になってる者です。何度かありました。「データを共有」というのとちょっと違いますが、要するにPHP側からサーブレットにデータを送信したり、その逆をしたりして両者で必要なデータを受け渡せればいいわけですね。 一番手っ取り早いのは、URLにクエリー文字で送信したい情報をつけてしまう方法でしょう。 http://xxx.php?a=aaa&b=bbb こんな感じで送信先のPHPのURLを用意しリダイレクトしてしまえばいいわけです。日本語の場合はURLエンコードしておきます。 ただし、URL丸見えで渡されるのは気持ち悪いという人は多いと思いますので、URLConnectionを使ってPOST送信するほうがいいかもしれませんね。 try { URL url = new URL( PHPのURLを指定 ); URLConnection uc = url.openConnection(); uc.setDoOutput(true); //POST可能に // 以下、ヘッダを設定 uc.setRequestProperty("User-Agent", "Sample-Agent"); uc.setRequestProperty("Accept-Language", "ja"); // 以下、パラメータを送信 OutputStream os = uc.getOutputStream(); String data = "a=aaa&b=bbb"; // 送信するパラメータ PrintStream ps = new PrintStream(os); ps.print(data); ps.close(); //POSTした結果を取得 InputStream is = uc.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); while ((s = br.readLine()) != null) { // 適当に処理 } br.close(); } catch以下略 こんな感じで指定のPHPにPOSTでデータを送信できます。こうやってデータをやり取りしながら処理していくわけです。 PHPで作成している場合、データベースアクセスに必要な情報はまず間違いなくGET/POSTで受けとっているはずですから、これでうまくいかないことはあまりないと思います。また、PHPから結果を受け取る場合は、どういう方式で送られているかわからないとなんともいえません。(HTMLで出力しているか、URLに付加しているか、ヘッダー情報に含めているかなどいろいろ考えられますので)
その他の回答 (1)
- Bonjin
- ベストアンサー率43% (418/971)
>両者間で値の共有をしたいです 共有したいデータの大きさや目的は何でしょうか? パラメータやCookieを使ったり、データ共有用のシステムやデータベースなどを作ったりすることで解決出来ると思いますが、データ共有の目的やデータの大きさなどによって最適解が変わってくると思います。
お礼
パラメータを使う方法で解決しようと思います。 ありがとうございました。
お礼
ご回答ありがとうございました。 そうですサーブレットからPHPに値を受け渡したいのです。 教えていただいた方法で受け渡しを試してみます。 ありがとうございます。m(__)m