- PR -

redirectとforwardの違いについて

1
投稿者投稿内容
たららん
常連さん
会議室デビュー日: 2001/11/07
投稿数: 22
投稿日時: 2003-03-02 21:06
お世話になってます。

今回はredirectとforwardについて質問させて頂きます。

forwardはURLは変更しないということを見ました。
これはアクセスする人にURLを教えたくない場合には利用できると思いました。

また、forwardを使うと他のサーブレット等に制御を渡すことができるということも
書いてあったのですが、それなら最初からその制御を渡すサーブレットを
呼べばよいと思ったのですが。
(きっと根本的に考え方が間違ってるんだと思うのですが・・・)

redirectとsendforwardを使うメリット・デメリットを教えて下さい。
また、その仕組みも教えて下さい。
よろしくお願いします。
raystar
ぬし
会議室デビュー日: 2003/01/16
投稿数: 251
お住まい・勤務地: Tokyo/Japan
投稿日時: 2003-03-02 21:54
引用:

また、forwardを使うと他のサーブレット等に制御を渡すことができるということも
書いてあったのですが、それなら最初からその制御を渡すサーブレットを
呼べばよいと思ったのですが。
(きっと根本的に考え方が間違ってるんだと思うのですが・・・)



これについてですが、
モデルとしてフロントコンポーネントモデルというものがあります。
例えば、
全てのアクセスを受け取るServletコントローラー
から各処理などを行うServletハンドラというものにforwardすれば、
受け口は一つ。という概念を実現することができます。

簡単ですが、こんな感じに使えます

アクセス

Servletコントローラー → Servletハンドラ→JavaBean,JSP

Servletハンドラ→JavaBean,JSP

また、
forwardの場合は 同じWEBアプリケーション内のみ有効だと思います。
(引数など / ではじまったりしますよね)
sendRedirect は別のWEBアプリなどにアクセスできるのではないでしょうか。
(http://から引数指定できるため)

ご参考まで。
1

スキルアップ/キャリアアップ(JOB@IT)