Saltar al contenido

¿Cómo redirigir en un filtro de servlet?

Esta es el arreglo más acertada que te podemos dar, sin embargo obsérvala detenidamente y analiza si se adapta a tu trabajo.

Solución:

En Filtro la respuesta es de ServletResponse más bien que HttpServletResponse. Por lo tanto, haga el elenco para HttpServletResponse.

HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.sendRedirect("/login.jsp");

Si usa una ruta de contexto:

httpResponse.sendRedirect(req.getContextPath() + "/login.jsp");

Tampoco olvides llamar return; al final.

Estoy tratando de encontrar un método para redirigir mi solicitud del filtro a la página de inicio de sesión

No

solo invocas

chain.doFilter(request, response);

del filtro y el flujo normal seguirá adelante.

No sé cómo redirigir desde servlet

Puedes usar

response.sendRedirect(url);

para redirigir desde el servlet

Si también desea mantener el hash y obtener el parámetro, puede hacer algo como esto (llene redirectMap en filter init):

String uri = request.getRequestURI();

String[] uriParts = uri.split("[#?]");
String path = uriParts[0];
String rest = uri.substring(uriParts[0].length());

if(redirectMap.containsKey(path)) 
    response.sendRedirect(redirectMap.get(path) + rest);
 else 
    chain.doFilter(request, response);

Recuerda algo, que puedes optar por la opción de aclarar .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *