Мне нужно иметь конкретный объект запроса и использовать этот же объект в веб-приложении, чтобы получить/установить для него значения для выполнения бизнес-логики для конкретного запроса. Могу ли я использовать request.setAttribute/request.getAttribute или мне следует использовать ThreadLocal. Насколько я понимаю, каждый запрос обрабатывается отдельным потоком из пула потоков. У меня есть это в веб-приложении Spring. Я также вижу RequestContextHolder, не уверен, что подойдет
HttpServletRequest request.setAttribute против ThreadLocal против RequestContextHolder
comment
возможный дубликат stackoverflow.com/ вопросы/10096483/
- person Adam Burley   schedule 13.12.2016
Ответы (1)
Похоже, вы хотите, чтобы атрибут приложения был доступен для каждого конкретного запроса. Для этого вы можете использовать request.getServletContext().setAttribute() и request.getServeltContext().getAttribute(). ServletContext представляет приложение, поэтому установленные с ним атрибуты доступны в течение всего времени существования приложения и могут использоваться несколькими запросами.
person
mmulholl
schedule
14.01.2016
нужно запросить конкретный объект, а не широкое приложение
- person Bukhtawar; 14.01.2016
пожалуйста, уточните вопрос, как вы сказали .... и используйте тот же объект в веб-приложении для получения/установки значений...... .
- person mmulholl; 14.01.2016
Я имел в виду один объект для всего выполнения одного потока запроса (конкретный объект запроса) в разных веб-компонентах.
- person Bukhtawar; 14.01.2016