Одним из возможных способов истечения сеанса HTTP является истечение срока действия файла cookie JSESSIONID.Вы можете получить массив файлов cookie из метода getCookies () HttpServletRequest .Вы можете найти cookie с именем JSESSIONID из этого массива.Мы не можем удалить cookie, используя объект Cookie .Но мы можем истечь, установив максимальный возраст на ноль, т.е. cookie.setMaxAge (0).Вот возможная реализация, которую вы можете попробовать использовать:
public static void expireJSessionIdCookie(HttpServletRequest request) {
Cookie[] cookies = request.getCookies();
Optional<Cookie> cookieOpt = Stream.of(cookies)
.filter(c -> c.getName().equalsIgnoreCase("JSESSIONID"))
.findFirst();
if (cookieOpt.isPresent()) {
Cookie cookie = cookieOpt.get();
cookie.setMaxAge(0);
}
}