« JSP にて Servlet で設定された値を利用する。 | トップページ | localhost では正常に動くのに マシン名でアクセスするとセッションを取得できない? »

2011年1月25日 (火)

getRequestDispatcher と sendRedirect の違い

サーブレッドからのページ遷移には「getRequestDispatcher(フォワード)」と「sendRedirect(リダイレクト)」の2つがある。

■フォワード

   // 画面遷移
   RequestDispatcher rd = request.getRequestDispatcher("遷移先URL");
   rd.forward(request, response);

■リダイレクト

  // 画面遷移
   ((HttpServletResponse)response).sendRedirect("遷移先URL");

※2つの主な違いは以下の通り

  1. リダイレクトよりもフォワードの方がパフォーマンスが良い
  2. フォワードはサーバ内部の転送にのみ使用できる(別サーバに転送できない)
  3. リクエスト情報を引き継げるのはフォワードのみ

« JSP にて Servlet で設定された値を利用する。 | トップページ | localhost では正常に動くのに マシン名でアクセスするとセッションを取得できない? »

コメント

コメントを書く

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

トラックバック

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

この記事へのトラックバック一覧です: getRequestDispatcher と sendRedirect の違い:

« JSP にて Servlet で設定された値を利用する。 | トップページ | localhost では正常に動くのに マシン名でアクセスするとセッションを取得できない? »