Инициализация синглетонов в Spring Framework 3 MVC - PullRequest
0 голосов
/ 11 января 2012

Я пишу приложение на основе Spring 3.1.0 MVC. Проблема заключается в следующем: я хочу поместить некоторые объекты в одноэлементный объект (текущий HttpServletRequest и HttpSevletResponse), чтобы использовать их в других объектах (Spring Controllers). Но не мог этого сделать. Я пытался расширить DispatcherServlet, переопределяя doService и doDispatch. Также попытался реализовать собственный HandlerInterceptor. Нет результата.

Где я могу инициализировать мои одноэлементные объекты? И где находится точка входа и точка уничтожения Spring Frameworks (например, методы или жизненный цикл init() и destroy())?

1 Ответ

1 голос
/ 11 января 2012

Текущие HttpServletRequest и HttpServletResponse доступны в качестве аргументов метода для методов вашего контроллера:

@RequestMapping("/foo")
public String foo(HttpServletRequest request) {

}

Я полагаю, что вы также можете @Inject их в вашем контроллере. Прокси-сервер будет введен, и каждый раз, когда вы обращаетесь к ним, будут использоваться текущие. (Я не уверен на 100% в этом)

Третий вариант - использовать контейнер RequestContextHolder и получить оттуда все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...