Sprawdzenie oczekiwanego zachowania metody sendRedirect() z interfejsu ServletResponse

Ta reguła oznacza metodę sendRedirect(String) z javax.servlet.http.HttpServletResponse interfejs, ponieważ zachowanie tej metody może nie być zgodne z oczekiwaniami. Implementacja WebSphere ServletResponse.sendRedirect() Metoda przekształca adres URL w względny adres 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. Należy sprawdzić aplikację, aby sprawdzić, jakie typy adresów URL są przekazywane do sendRedirect() wywołania metod w celu określenia, czy należy podjąć jakieś działanie.

Właściwość niestandardowa kontenera WWW com.ibm.ws.webcontainer.RedirectWithPathInfo można użyć do włączenia zachowania niewzględnego adresu URL. 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 oznaczony flagą

Informacje dodatkowe:
Właściwości niestandardowe kontenera WWW