ПОЛУЧИТЬ ServletContext в ServiceLayer - PullRequest
0 голосов
/ 22 июня 2010

Каков наилучший способ получения контекста сервлета на уровне сервиса?

1 Ответ

3 голосов
/ 22 июня 2010

Есть несколько вариантов, все они неправильны:

  • Поместите его в ThreadLocal (т.е. по запросу) и получите через ThreadLocalServletContextHolder.get()

  • Передать его в качестве аргумента сервисным методам

Они не правы, потому что сервисный уровень не должен знать, что это сервлеты, которые снабжают его данными. Завтра это может быть качели.

Таким образом, правильный способ - собрать все необходимые параметры в сервлете (или контроллере) и передать их в качестве аргументов на сервисный уровень. Хуже, но все же не так уж и плохо - получить атрибут Map и передать его вместо него.

...