Спецификация сервлета (см. мой предыдущий вопрос)гарантирует, что один и тот же поток будет выполнять все фильтры и связанный с ними сервлет. Учитывая это, я не вижу никакого смысла в передаче данных с помощью HttpServletRequest.setAttribute
, если есть возможность использовать ThreadLocal
(, предполагая, что вы правильно очищаете ). Я считаю, что использованиеThreadLocal
:типа-безопасности и повышения производительности дает два преимущества, поскольку не используются строковые ключи или сопоставления (, за исключением, вероятно, коллекции потоков с помощью (не-строки). идентификатор потока ).
Кто-нибудь может подтвердить, прав ли я, чтобы продолжить отказ от setAttribute
?