« 森下カトレアのカレーパン | トップページ | 軟体丼(たこいか丼) »

2005.05.23

forwardとredirect

@it 基礎から学ぶサーブレット/JSP(13)より。

RequestDispatcher#forward
は、内部の別リソースに飛ばしている処理。
つまりブラウザとしては関係ない。

HttpServletResponse#sendRedirect
は、HTTPのステータスコードに
301 Moved Permanently やら 307 Temporary Redirect やら (どれが返るのかわからん)
を返すので、ブラウザがさらにリクエストを投げるらしい。

まぁMETAタグで
<META HTTP-EQUIV="refresh" content="5;URL=http://XXX">
と書くようなもんかな。
もしくは<body onload="location.href='XXX'"みたいな。

そこはいいんだけれども、strutsの
<logic:forward>と<logic:redirect>の違いがわからない。

forward - Forward control to the page specified by the specified ActionForward entry.
Performs a PageContext.forward() or HttpServletResponse.sendRedirect() call for the global ActionForward entry for the specified name. URL rewriting will occur automatically if a redirect is performed.

redirect - Render an HTTP Redirect
Performs an HttpServletResponse.sendRedirect() call to the hyperlink specified by the attributes to this tag. URL rewriting will be applied automatically, to maintain session state in the absence of cookies.

とりあえずメモ。

|

« 森下カトレアのカレーパン | トップページ | 軟体丼(たこいか丼) »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/19919/4241963

この記事へのトラックバック一覧です: forwardとredirect:

« 森下カトレアのカレーパン | トップページ | 軟体丼(たこいか丼) »