Questa regola contrassegna il metodo sendRedirect(String) dall'interfaccia javax.servlet.http.HttpServletResponse in quanto il comportamento di tale metodo potrebbe essere diverso da quello previsto. L'implementazione WebSphere del metodo ServletResponse.sendRedirect() converte l'URL in un URL relativo. Le informazioni relative al percorso che precedono l'ultima barra vengono rimosse. Se questo non è il comportamento previsto per la propria applicazione, è possibile correggerlo impostando una proprietà personalizzata del contenitore Web. Controllare l'applicazione per verificare quali tipi di URL vengono passati nelle chiamate al metodo sendRedirect() per determinare se è necessario eseguire un'azione.
È possibile utilizzare la proprietà personalizzata del contenitore Web com.ibm.ws.webcontainer.RedirectWithPathInfo per abilitare il comportamento dell'URL non relativo. Se questa proprietà è impostata su true, response.sendRedirect eseguirà il reindirizzamento con le informazioni relative al percorso.
A partire dall'implementazione di Servlet 3.1, questo è il comportamento predefinito e la proprietà personalizzata del contenitore Web viene ignorata.
Esempio:
|
protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
// code resp.sendRedirect("xyz"); } |
La chiamata al metodo resp.sendRedirect("xyz"); verrà contrassegnata
Per ulteriori informazioni, consultare
Web container custom properties