Ta reguła oznacza flagą metodę sendRedirect(String) z interfejsu javax.servlet.http.HttpServletResponse, ponieważ zachowanie tej metody może być niezgodne z oczekiwanym. Implementacja WebSphere metody ServletResponse.sendRedirect() przekształca adres URL do względnego adresu URL. Usuwane są wszystkie informacje o ścieżce poprzedzające ostatni ukośnik. Jeśli nie jest to oczekiwane zachowanie dla używanej aplikacji, można je skorygować, ustawiając właściwość niestandardową kontenera WWW. W używanej aplikacji należy sprawdzić, jakie typy adresów URL są przekazywane w wywołaniach metody sendRedirect(), aby określić, czy wymagane jest wykonanie czynności.
W celu włączenia zachowania z wykorzystaniem adresów URL innych niż względne można użyć właściwości niestandardowej com.ibm.ws.webcontainer.RedirectWithPathInfo kontenera WWW. Jeśli ta właściwość jest ustawiona na wartość true, metoda response.sendRedirect wykona przekierowanie z użyciem informacji o ścieżce.
To zachowanie — począwszy od implementacji Servlet 3.1 — jest zachowaniem domyślnym, a właściwość niestandardowa kontenera WWW jest ignorowana.
Przykład:
|
protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
// kod resp.sendRedirect("xyz"); } |
Wywołanie metody resp.sendRedirect("xyz"); zostanie oznaczone flagą.
Informacje dodatkowe:
Właściwości niestandardowe kontenera WWW