この規則により、javax.servlet.http.HttpServletResponse インターフェースのメソッド sendRedirect(String) が、このメソッドの振る舞いとして予期されたものでない場合にフラグを立てます。 WebSphere で ServletResponse.sendRedirect() メソッドを実装すると、URL は相対 URL に変換されます。最後のスラッシュの前にあるパス情報がすべて削除されます。ご使用のアプリケーションで、これが予期される振る舞いではない場合は、Web コンテナーのカスタム・プロパティーを設定して修正することができます。 何らかの処置をとる必要があるかどうかを決定するためには、アプリケーションを確認して、どんな型の URL が sendRedirect() メソッド呼び出しに渡されるかを調べる必要があります。
Web コンテナーのカスタム・プロパティー com.ibm.ws.webcontainer.RedirectWithPathInfo を使用して、非相対 URL の振る舞いを使用可能にすることができます。このプロパティーを true に設定すると、response.sendRedirect はパス情報付きでリダイレクトされます。
Servlet 3.1 実装以降は、この振る舞いがデフォルトであり、Web コンテナーのカスタム・プロパティーは無視されます。
例:
|
protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
// code resp.sendRedirect("xyz"); } |
メソッド呼び出し resp.sendRedirect("xyz"); にフラグが立てられます。
追加情報については、以下を参照してください。
Web コンテナーのカスタム・プロパティー