サーブレット・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」カテゴリの記事
- サーブレット・JSPメモ018:Struts:Struts設定ファイルを分割した際のパス(2012.04.04)
- サーブレット・JSPメモ017:Struts:Tilesの利用(2012.04.02)
- サーブレット・JSPメモ016:Struts:validator-rules.xml(2012.03.27)
- サーブレット・JSPメモ015:Struts:StrutsタグライブラリでInvalidCancelException(2012.03.27)
- サーブレット・JSPメモ014:タグライブラリの利用(2012.03.23)
The comments to this entry are closed.
« サーブレット・JSPメモ004:GETリクエストのパラメータの文字化け | Main | サーブレット・JSPメモ006:コンテキストパス »
Comments