• ベストアンサー

Java サーブレット間の値の受渡について

こんにちは サーブレットAからサーブレットBへ値を渡して、 サーブレットAで、戻り値を取得したいと考えています。 条件としては、 ・サーブレットBの改修はできない ・サーブレットBへはGet,Postで値を渡すことができ、 戻り値を数値で貰える というものです。 サーブレットA側からサーブレットBへリダイレクトするやり方はわかったのですが、それだと処理が完全にサーブレットBに移ってしまい、戻り値に応じた処理がサーブレットA側で行えないのです。 一般的なプログラミングのように、コールして戻り値に応じて処理を分ける・・といったことは出来ないのでしょうか?

  • Java
  • 回答数1
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
noname#49664
noname#49664
回答No.1

サーブレットAからBへリダイレクトしたのでは、そのままページを移るだけですからお望みのような働きにはなりません。 どうしてもというなら、サーブレットAの中から、URLConnectionでサーブレットBに接続をし、結果を受け取って処理する、というような形になるかと思います。要するに、サーブレットAの内部から、HTTPでサーブレットBにアクセスするわけです。

mogmicky
質問者

お礼

ご回答ありがとうございます。 URLConnectionというのは使ったことがないので、調査してみます。 その後、経過報告いたしますので宜しくお願いします。

関連するQ&A

  • JSPからサーブレットにリンクで値を渡す方法

    JSPでget、postではなく、リンクを利用して値を渡す方法はありますでしょうか。 <%--sidを渡してリンク先に飛ぶ--%> <% request.setAttribute("sid",sid) %> <a href="/Keijiban/Connect" target="_self" ><%=sname%></a> というような方法でやっているのですができません。 サーブレットに処理を任せる値を渡し、処理結果をJSPに使うという 処理にしたいのです。 アドレスの後ろに値をつけようと思ったのですが、URLリライティングなので使えません。 何か良い方法などがありましたら、教えてください。 よろしくお願いします。

  • データの受け渡しについて

    POSTする画面をA、GETする画面をBとします。 画面Aと画面Bの間に、画面Cを追加したいのですが、 画面AのPOSTした値を、画面CでGETし、そのまま画面BにPOSTする事はできますか? 出来る場合はどのようにしたら良いのでしょうか?

  • Javascriptの値をJavaへ渡す方法

    JSPからJavascriptで処理後の値を、サーブレットへ渡す方法を教えて頂きたいです。 登録ボタンを押したあと、登録確認アラートが表示されるのですが、 同じ(登録ボタン押下の)タイミングでJavascriptで処理を実行し、 その値をjavaへ渡したいと思っています。 具体的には、 var aaa = a+b; <% aBean.setA(%>'aaa'<%); %> Javascriptで取得した「aaa」をJavaの引数として渡す方法を教えて頂けませんでしょうか? よろしくお願いします。

    • ベストアンサー
    • Java
  • GETやPOSTで値を取り出すとき

    <form>で、値を送信するとき、 GETかPOSTを選択して送信して、 PHPではその値を受け取った上で処理するのですが。 チェックボックスを作り、複数選択した場合、 値が1個しか取り出せません。 例えば、 同じnameで、A,B,C,Dのうち、A,Cを選択したなら、 後側の C しか取り出せません。 GETで送信したときのURLの後ろがこうなります。 http://www.~~~.jp/xxxx.php?name=A&name=C この様になり、実際には2個の値を送信しているのにもかかわらず、後側の1個だけを拾っている様なんです。 PHPの受側で正しく複数の値を取り出せるいい方法はないでしょうか?

    • 締切済み
    • PHP
  • 値の受け渡しが出来ない。

    index.htmlのチェックボックスの内容をa.phpで受け取り、この値を更にb.phpに送りたいのですが Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/sites/heteml//web/b.php on line 56 該当データ無し Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/sites/heteml//web/b.php on line 64 と、なって上手くデータが渡っていません。 a.phpには <form action="b.php" method="POST"> <input type="hidden" name="jyusyo[]" value="<?php echo ($_POST['jyusyo']); ?>" /> <input type="submit" /> </form> として、b.phpに値が渡るようにしているはずなんですが。。

    • ベストアンサー
    • PHP
  • 別のサーバーでコマンドを実行するには

    echo exec('whoami'); という風にexecでコマンドを実行して戻り値を表示するプログラムがあります、これを別のサーバーで実行して戻り値を出力したいのですが方法はないでしょうか? Aサーバー(コマンド) → Bサーバー(実行) Aサーバー(出力) ← Bサーバー(戻り値) といった具合です、postかgetで置くってリダイレクトするような方法しかないのでしょうか?

    • ベストアンサー
    • PHP
  • Javaサーブレット?がわかりません。

    質問です。 HTMLで作られた画面のテキストボックス(test1)に値を設定し、 ボタンを押下することによってJava(サーブレット?)に値を渡し、 Java側からHTML画面の別のテキストボックスに値を設定するのには どうしたら良いのでしょうか? 画面は <HTML><HEAD> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <TITLE></TITLE> </HEAD><BODY> <FORM name="Form" action="main"> <TR><TD><INPUT type="text" name="test1"> <INPUT type="text" name="test2"> </TD></TR><BR> <TR><TD><INPUT type="submit" value="試験"></TD></TR> </FORM></BODY></HTML> こんな感じです。 Java側のdoGetメソッドで String name = request.getParameter( "test1" ); で取得した値を画面のtest2のテキストボックスに値を設定したいのですが 新しくHTML画面を作成するのではなく、既存の画面のテキストボックスに値をいれることができるのでしょうか? よろしくお願いします

    • ベストアンサー
    • Java
  • PHP 他管理サイトからの値取得

    phpで入力項目をPOSTで別管理者のサイトに渡して値を取得するものを作っています。 相手サイトにはPOSTできましたが、相手側の仕様で あああ&いいいいといった形式での戻り値が画面に表示されたままで先に進めません。 XMLのように画面遷移なく内部でPOST送信し 自分のサイト内に戻り値を取得したいのですが何かそういっいた技はありますでしょうか?

    • 締切済み
    • PHP
  • ブラウザーでの入力値をサーブレットで取得する方法

    サーブレットの開発を行っていますが、ブラウザー側で 入力したパラメーターをサーブレットで受け取りたいのですがうまくいきません。 受け取りたいのは、以下のHTMLで作成したテキストボックスへの入力値です <form name="form7" method="post" action=""> <p> <input type="text" name="textfield2" size="4" maxlength="4"> 年 <input type="text" name="textfield" size="2" maxlength="2"> 月</p> </form> ブラウザー側からは <form action="http://localhost/servlet/yuushi" method=post> の指定を行っています。 サーブレットでの受け取り方は、 String p=request.getParameter("textfield2"); String p1=request.getParameter("textfield"); としましたが、p、p1とも何の値も入りませんでした。 getParameterで取得できると思ったのですが取得できませんでした。 値の取得方法の御教示をお願いいたします。

    • ベストアンサー
    • Java
  • MVCモデルでのサーブレットのやること

    Javaを習い始めた者です。 MVCモデルでのサーブレットのやるべきことが、いまいちつかめないので質問させていただきます。 私が思っているサーブレットのすることは、 (1)送られてきたた情報をgetParameter()する。 (2)JavaBeanを生成したり、getAttribute()する。 (3)getParameter()したものをJavaBeanにsetする。 (4)JavaBean内のメソッドを実行する。 (5)JavaBeanをsetAttribute()する。 (6)別のJSPなどにfoward()する。 です。 (基本的に計算や比較などの処理は、サーブレット上では行わず、JavaBean内のメソッドで行う) この考え方は間違っていますか? あと例えば、ログイン認証のプログラムを作るとき、上の考え方だと、getParameter()したIdとPasswordをJavaBeanにsetして、JavaBean内のメソッドで、setしたIdを元にDBからPasswordをgetしてきます。そしてこのPasswordと、setしたPasswordを比較することになると思います。 でも、私的にはJavaBean内のメソッドで、引数にgetParameter()したIdを与えて、DBからgetしたPasswordを戻り値にします。そしてサーブレット上で、このPasswordとgetParameter()したPasswordを比較しようと思いました。 でもこれだと、サーブレット上でPasswordを比較するという処理を行っているのでMVCモデルに反しているのでしょうか? わかりにくい説明で申し訳ないのですが、教えてください。 お願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう