Весна: закрыть сеанс

1

Я создал проект Spring MVC с бот-магазином для покупок (scope = session), и я поместил объект Client как:

@SessionAttributes(value="client") 

Если я хочу устранить все, что присутствует в сеансе, этот код не работает. Зачем?

@RequestMapping(value="/logout",method=RequestMethod.GET)
public String closeSession(SessionStatus status){
    status.setComplete();
    return "redirect:/";
}//closeSessione
  1. Он удаляет объект Client только, но если я хочу также удалить компонент "Корзина", как я могу его решить?

  2. Это лучше, чем я создаю клиентский компонент с областью = сеанс, или это @SessionAttributes(value="client") тоже хорошо?

Теги:
spring
spring-mvc

1 ответ

1
Лучший ответ

Прежде всего, вы должны использовать @SessionAttributes, здесь вы найдете некоторое сравнение: Spring: понимание различий между @SessionAttributes vs @Scope ('session')

Попробуйте сделать это, чтобы удалить все объекты сеанса.

@RequestMapping(value="/logout",method=RequestMethod.GET)
public String closeSession(HttpServletRequest request){
    HttpSession session=request.getSession();  
    session.invalidate();  
    return "redirect:/";
}//closeSessione
  • 0
    Но @SessionAttributes сохраняет объекты в HttpSession?
  • 0
    Да, посмотрите на эту статью для получения дополнительной информации. intertech.com/Blog/...
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню