Directorio de artículos
Escenario problemático
Al probar la función de salida del proyecto, se encontró que después de salir, el marco de microservicio generado cookie
todavía existe. Al ingresar a la página de inicio, no hay un salto anormal, sino una entrada normal. Para un manejo sencillo, JS
se cookie
eliminará el uso de nativo . Pero después de la ejecución, no se cookie
eliminó normalmente y cookie
todavía existe. Este blog trata principalmente sobre las razones y soluciones para esta situación.
Entorno problemático
software | versión |
---|---|
JDK | 8 |
causas del problema
Abra la página devtools de Google Chrome, verifique la cookie
página, puede encontrar que hay un atributo adentro HttpOnly
, este atributo es principalmente para hacer que la js
información relevante en el código de la página web no se pueda obtener, pero el servidor puede obtenerla normalmente. La propiedad que se eliminará cookie
está configurada HTTPONLY
, por lo que JS no puede controlarla ni borrarla. Como se muestra abajo:
solución
Ahora que el servidor puede funcionar normalmente, se desarrolla una cookie
interfaz clara en el servidor y luego se llama a la interfaz para eliminar. El código de eliminación es el siguiente:
public static void removeCookie(HttpServletResponse response, String name) {
Cookie uid = new Cookie(name, null);
uid.setPath("/");
uid.setMaxAge(0);
uid.setHttpOnly(true);
response.addCookie(uid);
}
resultado
Después de llamar a la interfaz, se cookie
eliminará sin problemas .
para resumir
Los pozos están en todas partes, ¡necesitas estudiar y pensar más! ! !
Pedir elogios
Si mi artículo es útil para todos, puede hacer clic en Me gusta o en favorito en la parte inferior del artículo;
si hay una buena discusión, puede dejar un mensaje;
si desea continuar viendo mis artículos futuros, puede hacer clic en Seguirlo
. puede escanear el siguiente código QR para seguirme la cuenta pública: Fengye Zhixuege, ¡mira mi última acción!