sendRedirect メソッドでの振る舞いの変更を確認する

Servlet 3.1 実装と Servlet 3.0 実装で相対 URL に対するデフォルト動作が異なるため、この規則により、javax.servlet.http.HttpServletResponse.sendRedirect(String) メソッドを参照するようにフラグが立てられます。Servlet 3.1 での動作は、Servlet 3.0 で com.ibm.ws.webcontainer.RedirectWithPathInfo プロパティーが true に設定されているときの動作と一致し、そのプロパティーは Servlet 3.1 実装では無視されます。

Servlet 3.1 では、相対ロケーションの先頭に「/」がない場合、コンテナーはそのロケーションが現行の要求 URI に相対的であると解釈します。相対ロケーションの先頭に「/」がある場合、コンテナーはそのロケーションをサーブレット・コンテナー・ルートに相対的であると解釈します。

例えば、アプリケーションによって提供されるリダイレクト・ロケーションが folder/default.jsp (先頭に「/」なし) であり、 インバウンド要求 URL が http://host:port/context_root/extraFolder または http://host:port/context_root/extraFolder/ である場合、 Servlet 3.1 では、現行要求 URI に相対的な http://host:port/context_root/extraFolder/folder/default.jsp に要求がリダイレクトされます。Servlet 3.0 では、com.ibm.ws.webcontainer.RedirectWithPathInfo プロパティーが true に設定されていなければ、要求は http://host:port/context_root/folder/default.jsp にリダイレクトされます。

このメソッドについて詳しくは、 Interface HttpServletResponse を参照してください。

Servlet 3.1 での振る舞いの変更について詳しくは、 Servlet 3.1 での振る舞いの変更のリソースを参照してください。