Spring MVC: эквивалент управления сеансом HTTP

Я исхожу из таких языков, как PHP или ColdFusion: если я хочу сохранить что-то в пользовательском http-сеансе, я действую следующим образом:

SESSION["foo"] = "bar"

Теперь я нахожусь в среде Spring MVC.

Например, как внутри метода Controller сохранить переменную в сеансе?

Кто-то сказал мне, что компонент с областью действия сеанса получит задание.

Можете ли вы помочь мне с тривиальным фрагментом кода?


person Fabio B.    schedule 30.12.2011    source источник
comment
проверьте это приложение stackoverflow.com/questions/2132928/   -  person Arnaud Gourlay    schedule 30.12.2011


Ответы (1)


Вы можете использовать bean-компонент с областью действия сеанса, а также у вас может быть аргумент типа HttpServletRequest или HttpSession для всех ваших методов обработки запросов. См. http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#mvc-ann-methods.

@RequestMapping...)
public String processSubmit(..., HttpSession session, ...) {
    ...
    session.setAttribute("someAttribute", someObject);
    ...
}
person JB Nizet    schedule 30.12.2011
comment
Хорошо, это быстрая и грязная сессия (как в старом стиле PHP) - person Fabio B.; 31.12.2011
comment
Однако... Я отмечу ваш ответ как принятый, когда вы его отредактируете, включая простой пример использования bean-компонента с областью действия сеанса. - person Fabio B.; 31.12.2011
comment
Компонент с областью сеанса используется как любой другой внедренный компонент. Способ настройки и внедрения bean-компонента с областью сеанса описан в той же документации, что и та, на которую я уже ссылался. Чтение руководств и документации — очень важная часть достойного разработчика. Вы не можете учиться, просто задавая вопросы. Прочтите static.springsource.org/spring/docs/3.1.x/ - person JB Nizet; 31.12.2011