C'est mon filtre :
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws java.io.IOException, javax.servlet.ServletException
{
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
String currentURL = request.getRequestURI();
MaintenanceService maintenanceMode = new MaintenanceService();
if (maintenanceMode.getMaintenanceMode())
{
String urlNew = currentURL.concat("maintenance.jsp");
response.sendRedirect(urlNew);
}
filterChain.doFilter(servletRequest, servletResponse);
}
"sous" maintenanceMode.getMaintenanceMode(), j'ai une variable getter :
boolean maintenanceMode = Boolean.getBoolean("maintenance");
Avec avant (redirection côté serveur), cela fonctionne bien, mais lorsque j'essaie la redirection côté client :
response.sendRedirect(urlNew);
J'ai eu un entretien infini occurrences.jsp concaténation :
http://localhost:8080/maintenance.jspmaintenance.jspmaintenance.jspmaintenance.jspmaintenance.jsp
pourquoi il ne redirige pas sur une seule occurrence, comme avec la redirection côté serveur :
http://localhost:8080/maintenance.jsp
Cartographie des filtres Web.xml :
<filter-mapping>
<filter-name>maintenanceFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>