プロが教えるわが家の防犯対策術!

質問させてください。

サーブレットのプログラミングをしています。
別のサーバのサーブレット(***.do)にリクエストを送りたい場合は、どのようにすればよいのでしょうか。

forward()やinclude()を使用すれば実現できると思っていたのですが、これらは同じサーバのものにしか適用できないようなので・・・。

どなたかご存知でしたらお教えください。

よろしくお願いします。

A 回答 (4件)

    • good
    • 0
この回答へのお礼

ありがとうございます。

この方法ならなんとか実現できそうです。

お礼日時:2011/11/16 17:25

質問とずれているかもしれませんが、



単にサーブレット内で別の HTTP サーバにアクセスしたいのなら

URL url = new URL(URLの文字列);
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setRequestMethod("GET");
InputStream is = httpCon.getInputStream();

処理!

なんてダイレクトなやり方があります。

この回答への補足

ありがとうございます。
こちらの説明が不足していました。

responseやrequestも一緒に転送させたいのです。

補足日時:2011/11/16 17:23
    • good
    • 0

質問に記載されたとおりに、サーブレットであれば、



「res.sendRedirect("遷移先のURL");」

※resは「HttpServletResponse」の変数名なので、自分のプログラムで定義した変数名にして下さい。


HTMLであれば、locationだったり、メタタグで定義する方法があります。


また、自分自身のプログラムがサーブレットでは無く、Strutsの場合は、StrutsタグやStrutsのAPIで
実装した方が良いと思います。

この回答への補足

ありがとうございます。
この方法、requestやresponseも同時に送られますでしょうか。

こちらで試してみたところ、上手くいかなかったので・・・。

補足日時:2011/11/16 17:25
    • good
    • 0

HttpServletRequest#sendRedirect( String location );



location = "http://www.google.co.jp";
とかで飛ばせますよ。

この回答への補足

ありがとうございます。
この方法、requestやresponseも同時に送られますでしょうか。

こちらで試してみたところ、上手くいかなかったので・・・。

補足日時:2011/11/16 17:24
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!