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

Post a comment

(Not displayed with comment.)

TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/26461/53954366

Listed below are links to weblogs that reference サーブレット・JSPメモ005:フォワード・インクルード・リダイレクト:

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

May 2017
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 31      
無料ブログはココログ

日本blog村

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

好きな音楽家

メモ

XI-Prof