My Photo

« サーブレット・JSPメモ004:GETリクエストのパラメータの文字化け | Main | サーブレット・JSPメモ006:コンテキストパス »

February 11, 2012

サーブレット・JSPメモ005:フォワード・インクルード・リダイレクト

フォワード

RequestDispatcher dispatcher
  = request.getRequestDispatcher("/ForwardServletB");
dispatcher.forward(request, response);

・request から RequestDispatcher を取得した場合、getRequestDispatcher()の引数は request のパスからの相対パス("/"ではじまらない)か、コンテキストルートからの相対パス("/"で始まる)。
・context から RequestDispatcher を取得した場合、RequestDispatcher()の引数のパスはコンテキストルートからの相対パス/"で始まる)のみ。
・フォワードしてもブラウザのURL欄はフォワード元のURLのまま。
・フォワード元のサーブレットは出力の一切をフォワード先に任せる。フォワード元サーブレットがresponseに書き込んでもフォワード時にレスポンスのバッファがクリアされるので、クライアントに返されるレスポンスにフォワード元サーブレットが書き込んだものは含まれない。

インクルード

RequestDispatcher dispatcher
  = request.getRequestDispatcher("/ForwardServletB");
dispatcher.include(request, response);

・インクルード元もインクルード先もresponseに出力することができる。

リダイレクト

response.sendRedirect(request.getContextPath() + "/test.html");

・引数のパスは絶対URL("http://www.google.com/"のような)かサーバールートからの相対パス。
・クライアントに一度処理を戻すので通信回数が増える。またリクエストスコープで値を渡すこともできない。

« サーブレット・JSPメモ004:GETリクエストのパラメータの文字化け | Main | サーブレット・JSPメモ006:コンテキストパス »

サーブレット・JSP」カテゴリの記事

Comments

The comments to this entry are closed.

TrackBack

« サーブレット・JSPメモ004:GETリクエストのパラメータの文字化け | Main | サーブレット・JSPメモ006:コンテキストパス »

June 2021
Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
無料ブログはココログ

日本blog村

  • にほんブログ村 IT技術ブログへ
  • にほんブログ村 アニメブログへ
  • にほんブログ村 サッカーブログ アルビレックス新潟へ

好きな音楽家

メモ

XI-Prof